The docs for httplib.HTTPConnection.putheader() have claimed for quite a while
that their could be an arbitrary number of values passed in. Turns out the code
did not match that. The code now matches the docs.
diff --git a/Lib/httplib.py b/Lib/httplib.py
index 2830ad7..bbda432 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -846,7 +846,7 @@
# For HTTP/1.0, the server will assume "not chunked"
pass
- def putheader(self, header, value):
+ def putheader(self, header, *values):
"""Send a request header line to the server.
For example: h.putheader('Accept', 'text/html')
@@ -854,7 +854,7 @@
if self.__state != _CS_REQ_STARTED:
raise CannotSendHeader()
- str = '%s: %s' % (header, value)
+ str = '%s: %s' % (header, '\r\n\t'.join(values))
self._output(str)
def endheaders(self):
@@ -989,6 +989,7 @@
# set up delegation to flesh out interface
self.send = conn.send
self.putrequest = conn.putrequest
+ self.putheader = conn.putheader
self.endheaders = conn.endheaders
self.set_debuglevel = conn.set_debuglevel
@@ -1008,10 +1009,6 @@
"Provide a getfile, since the superclass' does not use this concept."
return self.file
- def putheader(self, header, *values):
- "The superclass allows only one value argument."
- self._conn.putheader(header, '\r\n\t'.join(values))
-
def getreply(self):
"""Compat definition since superclass does not define it.