Resolve @piotr-dobrogost's concerns
authorIan Cordasco <graffatcolmingov@gmail.com>
Sun, 10 Feb 2013 22:14:45 +0000 (17:14 -0500)
committerIan Cordasco <graffatcolmingov@gmail.com>
Sun, 10 Feb 2013 22:14:45 +0000 (17:14 -0500)
Piotr had good objections to my not re-sending the body of the request on 307.

requests/sessions.py

index 01534c9..406d78e 100644 (file)
@@ -125,15 +125,16 @@ class SessionRedirectMixin(object):
 
             prepared_request.method = method
 
-            # Remove the cookie headers that were sent.
-            headers = prepared_request.headers
-            for h in ('Cookie', 'Content-Length'):
-                try:
-                    del headers[h]
-                except KeyError:
-                    pass
-
-            prepared_request.body = None
+            if resp.status_code is not codes.temporary:
+                if 'Content-Length' in prepared_request.headers:
+                    del prepared_request.headers['Content-Length']
+
+                prepared_request.body = None
+
+            try:
+                del prepared_request.headers['Cookie']
+            except KeyError:
+                pass
 
             resp = self.send(
                 prepared_request,