Tracking Previous Requests

Addresses the issue brought up here:
https://github.com/kennethreitz/requests/issues/1929
This commit is contained in:
ContinuousFunction
2014-08-17 19:13:26 -07:00
parent 35d083e166
commit df641e74ff
2 changed files with 15 additions and 0 deletions
+7
View File
@@ -91,10 +91,17 @@ class SessionRedirectMixin(object):
"""Receives a Response. Returns a generator of Responses."""
i = 0
hist = [] #keep track of history
while resp.is_redirect:
prepared_request = req.copy()
if i > 0:
#create deep copy of the history and keep track of redirects
hist.append(resp)
new_hist = list(hist)
resp.history = new_hist
try:
resp.content # Consume socket so it can be released
except (ChunkedEncodingError, ContentDecodingError, RuntimeError):
+8
View File
@@ -974,6 +974,13 @@ class RequestsTestCase(unittest.TestCase):
assert isinstance(s, builtin_str)
assert s == "Basic dGVzdDp0ZXN0"
def test_requests_history_is_saved(self):
r = requests.get('https://httpbin.org/redirect/5')
count = 0
for item in r.history:
assert len(item.history) == count
count = count + 1
class TestContentEncodingDetection(unittest.TestCase):
@@ -1364,6 +1371,7 @@ class TestRedirects:
assert session.calls[-1] == send_call
@pytest.fixture
def list_of_tuples():
return [