mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
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). ........
This commit is contained in:
parent
a9bd0cc67e
commit
aa5f49e4c1
2 changed files with 9 additions and 3 deletions
|
@ -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):
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import httplib
|
||||||
import array
|
import array
|
||||||
import httplib
|
import httplib
|
||||||
import StringIO
|
import StringIO
|
||||||
|
@ -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):
|
||||||
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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue