mirror of
https://github.com/python/cpython.git
synced 2025-08-01 15:43:13 +00:00
Fix for issue5102, timeout value propages between redirects, proxy, digest and
auth handlers. Fixed tests to reflect the same.
This commit is contained in:
parent
5215875a95
commit
5fee460bfa
2 changed files with 10 additions and 6 deletions
|
@ -224,8 +224,8 @@ def test_password_manager_default_port(self):
|
|||
|
||||
class MockOpener:
|
||||
addheaders = []
|
||||
def open(self, req, data=None):
|
||||
self.req, self.data = req, data
|
||||
def open(self, req, data=None,timeout=socket._GLOBAL_DEFAULT_TIMEOUT):
|
||||
self.req, self.data, self.timeout = req, data, timeout
|
||||
def error(self, proto, *args):
|
||||
self.proto, self.args = proto, args
|
||||
|
||||
|
@ -850,6 +850,7 @@ class HandlerTests(unittest.TestCase):
|
|||
method = getattr(h, "http_error_%s" % code)
|
||||
req = Request(from_url, data)
|
||||
req.add_header("Nonsense", "viking=withhold")
|
||||
req.timeout = socket._GLOBAL_DEFAULT_TIMEOUT
|
||||
if data is not None:
|
||||
req.add_header("Content-Length", str(len(data)))
|
||||
req.add_unredirected_header("Spam", "spam")
|
||||
|
@ -878,6 +879,7 @@ class HandlerTests(unittest.TestCase):
|
|||
|
||||
# loop detection
|
||||
req = Request(from_url)
|
||||
req.timeout = socket._GLOBAL_DEFAULT_TIMEOUT
|
||||
def redirect(h, req, url=to_url):
|
||||
h.http_error_302(req, MockFile(), 302, "Blah",
|
||||
MockHeaders({"location": url}))
|
||||
|
@ -887,6 +889,7 @@ class HandlerTests(unittest.TestCase):
|
|||
# detect infinite loop redirect of a URL to itself
|
||||
req = Request(from_url, origin_req_host="example.com")
|
||||
count = 0
|
||||
req.timeout = socket._GLOBAL_DEFAULT_TIMEOUT
|
||||
try:
|
||||
while 1:
|
||||
redirect(h, req, "http://example.com/")
|
||||
|
@ -898,6 +901,7 @@ class HandlerTests(unittest.TestCase):
|
|||
# detect endless non-repeating chain of redirects
|
||||
req = Request(from_url, origin_req_host="example.com")
|
||||
count = 0
|
||||
req.timeout = socket._GLOBAL_DEFAULT_TIMEOUT
|
||||
try:
|
||||
while 1:
|
||||
redirect(h, req, "http://example.com/%d" % count)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue