summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2001-01-14 21:03:01 (GMT)
committerGuido van Rossum <guido@python.org>2001-01-14 21:03:01 (GMT)
commitf6922aa43536610bd54f5ef7af7f614dcf92bc04 (patch)
tree292711e4ac70433dae9818300e3efd74e69b37c8
parent470ea5ab9493993b0e65842db2aa412ed9807e37 (diff)
downloadcpython-f6922aa43536610bd54f5ef7af7f614dcf92bc04.zip
cpython-f6922aa43536610bd54f5ef7af7f614dcf92bc04.tar.gz
cpython-f6922aa43536610bd54f5ef7af7f614dcf92bc04.tar.bz2
SF Patch #103232 by dougfort: Preserve Nonstandard Port Number in Host
Header Dougfort's comments: httplib does not include ':port ' in the HTTP 1.1 'Host:' header. This causes problems if the server is not listening on Port 80. The test case I use is the login to /manage under Zope, with Zope listening on port 8080. Zope returns a <frameset> with the <frame> source URLs lacking the :8080.
-rw-r--r--Lib/httplib.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/Lib/httplib.py b/Lib/httplib.py
index ae65a11..79789bb 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -441,7 +441,12 @@ class HTTPConnection:
# be using HTTP/1.0 and those clients may be issuing this header
# themselves. we should NOT issue it twice; some web servers (such
# as Apache) barf when they see two Host: headers
- self.putheader('Host', self.host)
+
+ # if we need a non-standard port,include it in the header
+ if self.port == HTTP_PORT:
+ self.putheader('Host', self.host)
+ else:
+ self.putheader('Host', "%s:%s" % (self.host, self.port))
# note: we are assuming that clients will not attempt to set these
# headers since *this* library must deal with the