mirror of
https://github.com/python/cpython.git
synced 2025-10-10 00:43:41 +00:00
Merged fix for #10860 from 3.2
This commit is contained in:
commit
6c4e1aed4b
2 changed files with 26 additions and 3 deletions
|
@ -678,7 +678,10 @@ class HTTPConnection:
|
||||||
try:
|
try:
|
||||||
port = int(host[i+1:])
|
port = int(host[i+1:])
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise InvalidURL("nonnumeric port: '%s'" % host[i+1:])
|
if host[i+1:] == "": # http://foo.com:/ == http://foo.com/
|
||||||
|
port = self.default_port
|
||||||
|
else:
|
||||||
|
raise InvalidURL("nonnumeric port: '%s'" % host[i+1:])
|
||||||
host = host[:i]
|
host = host[:i]
|
||||||
else:
|
else:
|
||||||
port = self.default_port
|
port = self.default_port
|
||||||
|
|
|
@ -161,14 +161,16 @@ class BasicTest(TestCase):
|
||||||
def test_host_port(self):
|
def test_host_port(self):
|
||||||
# Check invalid host_port
|
# Check invalid host_port
|
||||||
|
|
||||||
for hp in ("www.python.org:abc", "www.python.org:"):
|
for hp in ("www.python.org:abc", "user:password@www.python.org"):
|
||||||
self.assertRaises(client.InvalidURL, client.HTTPConnection, hp)
|
self.assertRaises(client.InvalidURL, client.HTTPConnection, hp)
|
||||||
|
|
||||||
for hp, h, p in (("[fe80::207:e9ff:fe9b]:8000",
|
for hp, h, p in (("[fe80::207:e9ff:fe9b]:8000",
|
||||||
"fe80::207:e9ff:fe9b", 8000),
|
"fe80::207:e9ff:fe9b", 8000),
|
||||||
("www.python.org:80", "www.python.org", 80),
|
("www.python.org:80", "www.python.org", 80),
|
||||||
|
("www.python.org:", "www.python.org", 80),
|
||||||
("www.python.org", "www.python.org", 80),
|
("www.python.org", "www.python.org", 80),
|
||||||
("[fe80::207:e9ff:fe9b]", "fe80::207:e9ff:fe9b", 80)):
|
("[fe80::207:e9ff:fe9b]", "fe80::207:e9ff:fe9b", 80),
|
||||||
|
("[fe80::207:e9ff:fe9b]:", "fe80::207:e9ff:fe9b", 80)):
|
||||||
c = client.HTTPConnection(hp)
|
c = client.HTTPConnection(hp)
|
||||||
self.assertEqual(h, c.host)
|
self.assertEqual(h, c.host)
|
||||||
self.assertEqual(p, c.port)
|
self.assertEqual(p, c.port)
|
||||||
|
@ -539,6 +541,24 @@ class HTTPSTest(TestCase):
|
||||||
self.assertEqual(resp.status, 404)
|
self.assertEqual(resp.status, 404)
|
||||||
del server
|
del server
|
||||||
|
|
||||||
|
def test_host_port(self):
|
||||||
|
# Check invalid host_port
|
||||||
|
|
||||||
|
for hp in ("www.python.org:abc", "user:password@www.python.org"):
|
||||||
|
self.assertRaises(client.InvalidURL, client.HTTPSConnection, hp)
|
||||||
|
|
||||||
|
for hp, h, p in (("[fe80::207:e9ff:fe9b]:8000",
|
||||||
|
"fe80::207:e9ff:fe9b", 8000),
|
||||||
|
("www.python.org:443", "www.python.org", 443),
|
||||||
|
("www.python.org:", "www.python.org", 443),
|
||||||
|
("www.python.org", "www.python.org", 443),
|
||||||
|
("[fe80::207:e9ff:fe9b]", "fe80::207:e9ff:fe9b", 443),
|
||||||
|
("[fe80::207:e9ff:fe9b]:", "fe80::207:e9ff:fe9b",
|
||||||
|
443)):
|
||||||
|
c = client.HTTPSConnection(hp)
|
||||||
|
self.assertEqual(h, c.host)
|
||||||
|
self.assertEqual(p, c.port)
|
||||||
|
|
||||||
|
|
||||||
class RequestBodyTest(TestCase):
|
class RequestBodyTest(TestCase):
|
||||||
"""Test cases where a request includes a message body."""
|
"""Test cases where a request includes a message body."""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue