From 930f03c8649613da9efb7915e17428dd1e8526af Mon Sep 17 00:00:00 2001 From: cjstapleton Date: Fri, 28 Feb 2014 10:08:57 -0600 Subject: [PATCH] Add timeout to stream with testing Fixes Issue #1803 --- requests/adapters.py | 5 +---- test_requests.py | 9 +++++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/requests/adapters.py b/requests/adapters.py index ca462232..28bea07c 100644 --- a/requests/adapters.py +++ b/requests/adapters.py @@ -310,10 +310,7 @@ class HTTPAdapter(BaseAdapter): chunked = not (request.body is None or 'Content-Length' in request.headers) - if stream: - timeout = TimeoutSauce(connect=timeout) - else: - timeout = TimeoutSauce(connect=timeout, read=timeout) + timeout = TimeoutSauce(connect=timeout, read=timeout) try: if not chunked: diff --git a/test_requests.py b/test_requests.py index 3d7cdaaf..0fe849d4 100755 --- a/test_requests.py +++ b/test_requests.py @@ -1170,6 +1170,15 @@ class TestMorselToCookieMaxAge(unittest.TestCase): with pytest.raises(TypeError): morsel_to_cookie(morsel) +class TestTimeout: + def test_stream_timeout(self): + try: + r = requests.get('https://httpbin.org/delay/10', timeout=5.0) + except requests.exceptions.Timeout as e: + assert 'Read timed out' in e.args[0].args[0] + if __name__ == '__main__': unittest.main() + +