diff options
Diffstat (limited to 'lib/pure/httpclient.nim')
-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") |