1
0
ithewei 6 жил өмнө
parent
commit
876239fbb0
1 өөрчлөгдсөн 9 нэмэгдсэн , 5 устгасан
  1. 9 5
      http/HttpRequest.h

+ 9 - 5
http/HttpRequest.h

@@ -259,13 +259,17 @@ public:
             http_parser_url parser;
             http_parser_url_init(&parser);
             http_parser_parse_url(url.c_str(), url.size(), 0, &parser);
-            std::string host;
             if (parser.field_set & (1<<UF_HOST)) {
-                host = url.substr(parser.field_data[UF_HOST].off, parser.field_data[UF_HOST].len);
+                std::string host = url.substr(parser.field_data[UF_HOST].off, parser.field_data[UF_HOST].len);
+                int port = parser.port;
+                if (port == 0) {
+                    headers["Host"] = host;
+                }
+                else {
+                    snprintf(c_str, sizeof(c_str), "%s:%d", host.c_str(), port);
+                    headers["Host"] = c_str;
+                }
             }
-            int port = parser.port;
-            snprintf(c_str, sizeof(c_str), "%s:%d", host.c_str(), port);
-            headers["Host"] = c_str;
             if (parser.field_set & (1<<UF_PATH)) {
                 path = url.c_str() + parser.field_data[UF_PATH].off;
             }