summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/http/client.py4
-rw-r--r--Lib/test/test_httplib.py6
-rw-r--r--Misc/NEWS.d/next/Library/2019-04-03-20-46-47.bpo-36522.g5x3By.rst1
3 files changed, 7 insertions, 4 deletions
diff --git a/Lib/http/client.py b/Lib/http/client.py
index 5aa178d..1de151c 100644
--- a/Lib/http/client.py
+++ b/Lib/http/client.py
@@ -320,8 +320,8 @@ class HTTPResponse(io.BufferedIOBase):
self.headers = self.msg = parse_headers(self.fp)
if self.debuglevel > 0:
- for hdr in self.headers:
- print("header:", hdr + ":", self.headers.get(hdr))
+ for hdr, val in self.headers.items():
+ print("header:", hdr + ":", val)
# are we using the chunked-style of transfer encoding?
tr_enc = self.headers.get("transfer-encoding")
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
index f816eac..4755f8b 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -348,7 +348,8 @@ class HeaderTests(TestCase):
body = (
b'HTTP/1.1 200 OK\r\n'
b'First: val\r\n'
- b'Second: val\r\n'
+ b'Second: val1\r\n'
+ b'Second: val2\r\n'
)
sock = FakeSocket(body)
resp = client.HTTPResponse(sock, debuglevel=1)
@@ -357,7 +358,8 @@ class HeaderTests(TestCase):
lines = output.getvalue().splitlines()
self.assertEqual(lines[0], "reply: 'HTTP/1.1 200 OK\\r\\n'")
self.assertEqual(lines[1], "header: First: val")
- self.assertEqual(lines[2], "header: Second: val")
+ self.assertEqual(lines[2], "header: Second: val1")
+ self.assertEqual(lines[3], "header: Second: val2")
class TransferEncodingTest(TestCase):
diff --git a/Misc/NEWS.d/next/Library/2019-04-03-20-46-47.bpo-36522.g5x3By.rst b/Misc/NEWS.d/next/Library/2019-04-03-20-46-47.bpo-36522.g5x3By.rst
new file mode 100644
index 0000000..7869526
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-04-03-20-46-47.bpo-36522.g5x3By.rst
@@ -0,0 +1 @@
+If *debuglevel* is set to >0 in :mod:`http.client`, print all values for headers with multiple values for the same header name. Patch by Matt Houglum.