]> granicus.if.org Git - python/commitdiff
Strip square brackets from IPv6 address.
authorMartin v. Löwis <martin@v.loewis.de>
Tue, 14 Sep 2004 21:45:36 +0000 (21:45 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Tue, 14 Sep 2004 21:45:36 +0000 (21:45 +0000)
Lib/httplib.py
Lib/test/test_httplib.py

index b7276af357f96f9f69b849a78f53125ac980930c..c88b172a360dfd4ef35ae6c5d36b00d53c93e61e 100644 (file)
@@ -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
 
index 046f4f871a4048881b992f1a54180d23ad65a735..b0d73387e08559fae6d055640b263804a6d24535 100644 (file)
@@ -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'