diff options
author | Doran <samanthadoran3@gmail.com> | 2015-09-04 02:30:17 -0400 |
---|---|---|
committer | Doran <samanthadoran3@gmail.com> | 2015-09-04 16:10:32 -0400 |
commit | 619ab0bcf0d4d56a86af88715117aed472edfe70 (patch) | |
tree | 91478bb12ff5093594d1dda771fa937c4d57008a | |
parent | 4fefdb4d916447e5378e8ac97d6cc6c20d4667b7 (diff) | |
download | Nim-619ab0bcf0d4d56a86af88715117aed472edfe70.tar.gz |
Include port in host header as expected
-rw-r--r-- | lib/pure/httpclient.nim | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/pure/httpclient.nim b/lib/pure/httpclient.nim index 98687359b..30b838b7e 100644 --- a/lib/pure/httpclient.nim +++ b/lib/pure/httpclient.nim @@ -402,7 +402,11 @@ proc request*(url: string, httpMethod: string, extraHeaders = "", headers.add(" HTTP/1.1\c\L") - add(headers, "Host: " & parseUri(url).hostname & "\c\L") + if r.port == "": + add(headers, "Host: " & r.hostname & "\c\L") + else: + add(headers, "Host: " & r.hostname & ":" & r.port & "\c\L") + if userAgent != "": add(headers, "User-Agent: " & userAgent & "\c\L") if proxy != nil and proxy.auth != "": @@ -580,7 +584,11 @@ proc generateHeaders(r: Uri, httpMethod: string, result.add("?" & r.query) result.add(" HTTP/1.1\c\L") - add(result, "Host: " & r.hostname & "\c\L") + if r.port == "": + add(result, "Host: " & r.hostname & "\c\L") + else: + add(result, "Host: " & r.hostname & ":" & r.port & "\c\L") + add(result, "Connection: Keep-Alive\c\L") if body.len > 0 and not headers.hasKey("Content-Length"): add(result, "Content-Length: " & $body.len & "\c\L") |