Commit cf59332d 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 9fa106b8
...@@ -915,7 +915,7 @@ class HTTPConnection: ...@@ -915,7 +915,7 @@ class HTTPConnection:
if self.__state != _CS_REQ_STARTED: if self.__state != _CS_REQ_STARTED:
raise CannotSendHeader() raise CannotSendHeader()
hdr = '%s: %s' % (header, '\r\n\t'.join(values)) hdr = '%s: %s' % (header, '\r\n\t'.join([str(v) for v in values]))
self._output(hdr) self._output(hdr)
def endheaders(self, message_body=None): def endheaders(self, message_body=None):
......
import httplib
import array import array
import httplib import httplib
import StringIO import StringIO
...@@ -64,8 +65,6 @@ class HeaderTests(TestCase): ...@@ -64,8 +65,6 @@ class HeaderTests(TestCase):
# Some headers are added automatically, but should not be added by # Some headers are added automatically, but should not be added by
# .request() if they are explicitly set. # .request() if they are explicitly set.
import httplib
class HeaderCountingBuffer(list): class HeaderCountingBuffer(list):
def __init__(self): def __init__(self):
self.count = {} self.count = {}
...@@ -91,6 +90,13 @@ class HeaderTests(TestCase): ...@@ -91,6 +90,13 @@ class HeaderTests(TestCase):
conn.request('POST', '/', body, headers) conn.request('POST', '/', body, headers)
self.assertEqual(conn._buffer.count[header.lower()], 1) self.assertEqual(conn._buffer.count[header.lower()], 1)
def test_putheader(self):
conn = httplib.HTTPConnection('example.com')
conn.sock = FakeSocket(None)
conn.putrequest('GET','/')
conn.putheader('Content-length',42)
self.assertTrue('Content-length: 42' in conn._buffer)
class BasicTest(TestCase): class BasicTest(TestCase):
def test_status_lines(self): def test_status_lines(self):
# Test HTTP status lines # 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