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.
 
diff --git a/Misc/NEWS b/Misc/NEWS
index 2adff6e..cc71943 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -38,6 +38,9 @@
 Library
 -------
 
+- httplib.HTTPConnection.putheader() now accepts an arbitrary number of values
+  for any header, matching what the documentation has claimed for a while.
+
 - Issue #3774: Fixed an error when create a Tkinter menu item without command
   and then remove it.