summary refs log tree commit diff stats
path: root/lib/pure/httpclient.nim
diff options
context:
space:
mode:
authorJoey <jyapayne@gmail.com>2021-04-20 23:42:04 -0600
committerGitHub <noreply@github.com>2021-04-21 07:42:04 +0200
commitf1ce173283a06197cfde80e9117ba1aa0ed0dd02 (patch)
tree3a58dfdcd1af71e7e82c3978e524a40e7f0dee9d /lib/pure/httpclient.nim
parenta9b62de8956af50424767408bbe30631c63b331b (diff)
downloadNim-f1ce173283a06197cfde80e9117ba1aa0ed0dd02.tar.gz
Fix Httpclient headers from being modified accidentally (#17808)
Diffstat (limited to 'lib/pure/httpclient.nim')
-rw-r--r--lib/pure/httpclient.nim7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/pure/httpclient.nim b/lib/pure/httpclient.nim
index 14bcfd2fb..b60894103 100644
--- a/lib/pure/httpclient.nim
+++ b/lib/pure/httpclient.nim
@@ -962,12 +962,15 @@ proc format(client: HttpClient | AsyncHttpClient,
 
 proc override(fallback, override: HttpHeaders): HttpHeaders =
   # Right-biased map union for `HttpHeaders`
-  if override.isNil:
-    return fallback
 
   result = newHttpHeaders()
   # Copy by value
   result.table[] = fallback.table[]
+
+  if override.isNil:
+    # Return the copy of fallback so it does not get modified
+    return result
+
   for k, vs in override.table:
     result[k] = vs