Skip to content

Commit 7249a5e

Browse files
authored
Ensure the headers are not modified
1 parent cf5b2aa commit 7249a5e

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

adafruit_httpserver/response.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,14 @@ def _construct_response_bytes( # pylint: disable=too-many-arguments
7171

7272
response = f"{http_version} {status.code} {status.text}\r\n"
7373

74-
headers = headers or {}
74+
# Make a copy of the headers so that we don't modify the incoming dict
75+
response_headers = {} if headers is None else headers.copy()
7576

76-
headers.setdefault("Content-Type", content_type)
77-
headers.setdefault("Content-Length", content_length or len(body))
78-
headers.setdefault("Connection", "close")
77+
response_headers.setdefault("Content-Type", content_type)
78+
response_headers.setdefault("Content-Length", content_length or len(body))
79+
response_headers.setdefault("Connection", "close")
7980

80-
for header, value in headers.items():
81+
for header, value in response_headers.items():
8182
response += f"{header}: {value}\r\n"
8283

8384
response += f"\r\n{body}"

0 commit comments

Comments
 (0)