<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -46,8 +46,7 @@ var process = function(app, request, response) {
     var env = {};
     
     // copy HTTP headers over, converting where appropriate
-    for (var e = request.getNames().iterator(); e.hasNext();)
-    {
+    for (var e = request.getNames().iterator(); e.hasNext();) {
         var name = String(e.next()),
             value = String(request.getValue(name)), // FIXME: only gets the first of multiple
             key = name.replace(/-/g, &quot;_&quot;).toUpperCase();
@@ -60,21 +59,23 @@ var process = function(app, request, response) {
     
     var address = request.getAddress();
 
-    if (env[&quot;HTTP_HOST&quot;])
-    {
+    if (env[&quot;HTTP_HOST&quot;]) {
         var parts = env[&quot;HTTP_HOST&quot;].split(&quot;:&quot;);
-        if (parts.length === 2)
-        {
+        if (parts.length === 1) {
+            env[&quot;SERVER_NAME&quot;] = parts[0];
+        }
+        else if (parts.length === 2) {
             env[&quot;SERVER_NAME&quot;] = parts[0];
             env[&quot;SERVER_PORT&quot;] = parts[1];
         }
     }
     
-    var uri = URI.parse(String(request.getTarget()));
-    
-    env[&quot;SERVER_NAME&quot;] = env[&quot;SERVER_NAME&quot;] || String(address.getDomain() || &quot;&quot;);
-    env[&quot;SERVER_PORT&quot;] = env[&quot;SERVER_PORT&quot;] || String(address.getPort() || &quot;&quot;);
+    var name = address.getDomain(),
+        port = address.getPort();
+    env[&quot;SERVER_NAME&quot;] = env[&quot;SERVER_NAME&quot;] || String(name || &quot;&quot;);
+    env[&quot;SERVER_PORT&quot;] = env[&quot;SERVER_PORT&quot;] || String(port &gt;= 0 ? port : &quot;&quot;);
     
+    var uri = URI.parse(String(request.getTarget()));
     env[&quot;SCRIPT_NAME&quot;]          = &quot;&quot;;
     env[&quot;PATH_INFO&quot;]            = uri.path || &quot;&quot;;
     
@@ -83,7 +84,7 @@ var process = function(app, request, response) {
     env[&quot;SERVER_PROTOCOL&quot;]      = &quot;HTTP/&quot;+request.getMajor()+&quot;.&quot;+request.getMinor();
     env[&quot;HTTP_VERSION&quot;]         = env[&quot;SERVER_PROTOCOL&quot;]; // legacy
     
-    var cAddr, addr;
+    var cAddr;
     if (cAddr = request.getClientAddress())
         env[&quot;REMOTE_ADDR&quot;]      = String(cAddr.getHostName() || cAddr.getAddress() || &quot;&quot;);
     </diff>
      <filename>lib/jack/handler/simple.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>18179f6f79bc59b6d5f01680ea03c1dc9554d279</id>
    </parent>
  </parents>
  <author>
    <name>Tom Robinson</name>
    <email>tom@280north.com</email>
  </author>
  <url>http://github.com/tlrobinson/jack/commit/12c9bdde11641e52d0652289b4d5fb0d592bf99b</url>
  <id>12c9bdde11641e52d0652289b4d5fb0d592bf99b</id>
  <committed-date>2009-10-21T14:35:24-07:00</committed-date>
  <authored-date>2009-10-21T14:07:00-07:00</authored-date>
  <message>fix Simple's SERVER_NAME, SERVER_PORT. other misc cleanup</message>
  <tree>cba430d5c05640d74c97f5aa7ac55238b0150310</tree>
  <committer>
    <name>Tom Robinson</name>
    <email>tom@280north.com</email>
  </committer>
</commit>
