diff options
author | Joey <jyapayne@gmail.com> | 2021-04-20 23:42:04 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-21 07:42:04 +0200 |
commit | f1ce173283a06197cfde80e9117ba1aa0ed0dd02 (patch) | |
tree | 3a58dfdcd1af71e7e82c3978e524a40e7f0dee9d /lib/pure/httpclient.nim | |
parent | a9b62de8956af50424767408bbe30631c63b331b (diff) | |
download | Nim-f1ce173283a06197cfde80e9117ba1aa0ed0dd02.tar.gz |
Fix Httpclient headers from being modified accidentally (#17808)
Diffstat (limited to 'lib/pure/httpclient.nim')
-rw-r--r-- | lib/pure/httpclient.nim | 7 |
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 |