summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/http/client.py2
-rw-r--r--Lib/test/test_httplib.py9
2 files changed, 11 insertions, 0 deletions
diff --git a/Lib/http/client.py b/Lib/http/client.py
index 9348870..f273b03 100644
--- a/Lib/http/client.py
+++ b/Lib/http/client.py
@@ -916,6 +916,8 @@ class HTTPConnection:
for i, one_value in enumerate(values):
if hasattr(one_value, 'encode'):
values[i] = one_value.encode('ascii')
+ elif isinstance(one_value, int):
+ values[i] = str(one_value).encode('ascii')
value = b'\r\n\t'.join(values)
header = header + b': ' + value
self._output(header)
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
index 831d5ae..642f063 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -89,6 +89,15 @@ class HeaderTests(TestCase):
conn.request('POST', '/', body, headers)
self.assertEqual(conn._buffer.count[header.lower()], 1)
+ def test_putheader(self):
+ conn = client.HTTPConnection('example.com')
+ conn.sock = FakeSocket(None)
+ conn.putrequest('GET','/')
+ conn.putheader('Content-length', 42)
+ print(conn._buffer)
+ self.assertTrue(b'Content-length: 42' in conn._buffer)
+
+
class BasicTest(TestCase):
def test_status_lines(self):
# Test HTTP status lines