Skip to content

Commit 11ae0bc

Browse files
authored
Merge pull request #27 from spovlot/response-header-overwrite
Ensure the headers are not modified in HTTPResponse
2 parents f0f7767 + 7249a5e commit 11ae0bc

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)