mirror of
https://github.com/kennethreitz/requests.git
synced 2026-06-05 22:50:18 +00:00
Added test case to handle response of streamed redirects.
Credits go to @zackw.
This commit is contained in:
+20
-1
@@ -917,6 +917,25 @@ class RequestsTestCase(unittest.TestCase):
|
||||
|
||||
assert h1 == h2
|
||||
|
||||
def test_manual_redirect_with_partial_body_read(self):
|
||||
s = requests.Session()
|
||||
r1 = s.get(httpbin('redirect/2'), allow_redirects=False, stream=True)
|
||||
assert r1.is_redirect
|
||||
rg = s.resolve_redirects(r1, r1.request, stream=True)
|
||||
|
||||
# read only the first eight bytes of the response body,
|
||||
# then follow the redirect
|
||||
r1.iter_content(8)
|
||||
r2 = next(rg)
|
||||
assert r2.is_redirect
|
||||
|
||||
# read all of the response via iter_content,
|
||||
# then follow the redirect
|
||||
for _ in r2.iter_content():
|
||||
pass
|
||||
r3 = next(rg)
|
||||
assert not r3.is_redirect
|
||||
|
||||
|
||||
class TestContentEncodingDetection(unittest.TestCase):
|
||||
|
||||
@@ -1321,7 +1340,7 @@ def test_data_argument_accepts_tuples(list_of_tuples):
|
||||
hooks=default_hooks()
|
||||
)
|
||||
assert p.body == urlencode(data)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user