]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Use copy.deepcopy to clone HTTPRequest when following redirects.
authorBen Darnell <ben@bendarnell.com>
Mon, 20 Feb 2012 05:30:15 +0000 (21:30 -0800)
committerBen Darnell <ben@bendarnell.com>
Mon, 20 Feb 2012 05:30:15 +0000 (21:30 -0800)
This gives each request in a redirect chain its own copy of the
headers dictionary.

Closes #459.

tornado/simple_httpclient.py

index aa2bec637d08433300b5624783805438d0ec5715..26c32d3751caa6450f6c9adc76c585c2b61ad5c3 100644 (file)
@@ -391,7 +391,7 @@ class _HTTPConnection(object):
         if (self.request.follow_redirects and
             self.request.max_redirects > 0 and
             self.code in (301, 302, 303, 307)):
-            new_request = copy.copy(self.request)
+            new_request = copy.deepcopy(self.request)
             new_request.url = urlparse.urljoin(self.request.url,
                                                self.headers["Location"])
             new_request.max_redirects -= 1