                 self.url.append(StringUtils.toUtf8String(self.requestServerAddress!)! as Data)
            #endif
             
+            if self.requestHost!.contains(":") {
+                portPassedWithHostName = true
+            }
+            
         } else {
             
             // use a failover default as the server address

                self.url.append(StringUtils.toUtf8String(self.requestHost!)! as Data)
            #endif
            
        } else if self.requestServerName?.characters.count > 0 {
            
            // use the requested server name as received

        
        // set the port
        //
        if !portPassedWithHostName && self.requestPort?.characters.count > 0 {
            
            // We received a port via SERVER_PORT and no port was passed as part of our
            // server address (probably means web address is port 80 or 443).
            //
            // We'll append our port to the URL if the web server is not, in fact, using a 
            // standard HTTP port (80, 443)
            //
            if !FastCGIServerRequest.defaultHttpPorts.contains(self.requestPort!) {
                #if os(Linux)
