summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
authorDmitry Polienko <dmitry@eldis.ru>2016-10-24 09:42:18 +0700
committerDmitry Polienko <dmitry@eldis.ru>2016-10-24 09:42:18 +0700
commit8fb7858291d2fd7e2e5501ab7fc9db8c9e87a1ad (patch)
treedcd5bd4b49a6ccb2bc3ed3f53b637c0961878333 /lib/pure
parentc486e6377c98cb618cbe506b0e9ece9dcbb0cca5 (diff)
downloadNim-8fb7858291d2fd7e2e5501ab7fc9db8c9e87a1ad.tar.gz
Reset HttpClient if new URL has different port
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/httpclient.nim6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/pure/httpclient.nim b/lib/pure/httpclient.nim
index 5fa0d0bcc..c56d13b57 100644
--- a/lib/pure/httpclient.nim
+++ b/lib/pure/httpclient.nim
@@ -958,8 +958,10 @@ proc parseResponse(client: HttpClient | AsyncHttpClient,
 proc newConnection(client: HttpClient | AsyncHttpClient,
                    url: Uri) {.multisync.} =
   if client.currentURL.hostname != url.hostname or
-      client.currentURL.scheme != url.scheme:
-    if client.connected: client.close()
+      client.currentURL.scheme != url.scheme or
+      client.currentURL.port != url.port:
+    if client.connected:
+      client.close()
 
     when client is HttpClient:
       client.socket = newSocket()