Commit 97304567 authored by Senthil Kumaran's avatar Senthil Kumaran

Merged revisions 85205 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85205 | senthil.kumaran | 2010-10-03 23:52:42 +0530 (Sun, 03 Oct 2010) | 3 lines

  Fix Issue10012 - httplib headers, which are (sometimes mistakenly) int are explicitly cast to str (bytes - in py3k).
........
parent 5e8826cd
......@@ -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)
......
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment