redirects clear files also
authorKenneth Reitz <me@kennethreitz.com>
Tue, 8 May 2012 05:14:17 +0000 (01:14 -0400)
committerKenneth Reitz <me@kennethreitz.com>
Tue, 8 May 2012 05:14:17 +0000 (01:14 -0400)
Fixes #575

requests/models.py

index 4447be54a6dfafac52d59a3646c38d803dd34f46..fbdfb5609b7262fac28a81df267e6868c1c613e1 100644 (file)
@@ -236,6 +236,7 @@ class Request(object):
 
                 url = r.headers['location']
                 data = self.data
+                files = self.files
 
                 # Handle redirection without scheme (see: RFC 1808 Section 4)
                 if url.startswith('//'):
@@ -254,6 +255,7 @@ class Request(object):
                 if r.status_code is codes.see_other:
                     method = 'GET'
                     data = None
+                    files = None
                 else:
                     method = self.method
 
@@ -263,10 +265,12 @@ class Request(object):
                     if r.status_code in (codes.moved, codes.found) and self.method == 'POST':
                         method = 'GET'
                         data = None
+                        files = None
 
                     if (r.status_code == 303) and self.method != 'HEAD':
                         method = 'GET'
                         data = None
+                        files = None
 
                 # Remove the cookie headers that were sent.
                 headers = self.headers
@@ -278,7 +282,7 @@ class Request(object):
                 request = Request(
                     url=url,
                     headers=headers,
-                    files=self.files,
+                    files=files,
                     method=method,
                     params=self.session.params,
                     auth=self.auth,