From 619ab0bcf0d4d56a86af88715117aed472edfe70 Mon Sep 17 00:00:00 2001 From: Doran Date: Fri, 4 Sep 2015 02:30:17 -0400 Subject: [PATCH] Include port in host header as expected --- lib/pure/httpclient.nim | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/pure/httpclient.nim b/lib/pure/httpclient.nim index 98687359bb..30b838b7e3 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")