Commit 0d65063d authored by Martin v. Löwis's avatar Martin v. Löwis

Strip square brackets from IPv6 address.

parent 43f9649a
......@@ -534,6 +534,8 @@ class HTTPConnection:
host = host[:i]
else:
port = self.default_port
if host[0] == '[' and host[-1] == ']':
host = host[1:-1]
self.host = host
self.port = port
......
......@@ -118,12 +118,17 @@ def _test():
else:
print "Expect InvalidURL"
for hp in ("[fe80::207:e9ff:fe9b]:8000", "www.python.org:80",
"www.python.org", "[fe80::207:e9ff:fe9b]"):
for hp,h,p in (("[fe80::207:e9ff:fe9b]:8000", "fe80::207:e9ff:fe9b", 8000),
("www.python.org:80", "www.python.org", 80),
("www.python.org", "www.python.org", 80),
("[fe80::207:e9ff:fe9b]", "fe80::207:e9ff:fe9b", 80)):
try:
h = httplib.HTTP(hp)
http = httplib.HTTP(hp)
except httplib.InvalidURL:
print "InvalidURL raised erroneously"
c = http._conn
if h != c.host: raise AssertionError, ("Host incorrectly parsed", h, c.host)
if p != c.port: raise AssertionError, ("Port incorrectly parsed", p, c.host)
# test response with multiple message headers with the same field name.
text = ('HTTP/1.1 200 OK\r\n'
......
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