diff options
| author | Ian Cordasco <graffatcolmingov@gmail.com> | 2015-04-05 21:27:33 -0500 |
|---|---|---|
| committer | Ian Cordasco <graffatcolmingov@gmail.com> | 2015-04-05 21:49:52 -0500 |
| commit | 36093e69c70b9b24dd1e007befa35ad891313f51 (patch) | |
| tree | f180f8b8d8ce0dbadacc79696b4626ec75b71496 /requests/models.py | |
| parent | 18e678c1f897d5bcc934f0b1d5788afee9c37ada (diff) | |
| download | python-requests-36093e69c70b9b24dd1e007befa35ad891313f51.tar.gz | |
Copy a PreparedRequest's CookieJar reliably
When a PreparedRequests's cookie jar is not a RequestsCookieJar instance, it
will not have a "copy" method. By adding _copy_cookie_jar we can reliably copy
cookie jars so that we have an actual copy instead of the same instance on
different prepared requests.
This also updates the RequestsCookieJar.update logic to create copies of
cookies from the other jar.
Closes #2527
Diffstat (limited to 'requests/models.py')
| -rw-r--r-- | requests/models.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/requests/models.py b/requests/models.py index cb153aa5..12304adb 100644 --- a/requests/models.py +++ b/requests/models.py @@ -15,7 +15,7 @@ from .hooks import default_hooks from .structures import CaseInsensitiveDict from .auth import HTTPBasicAuth -from .cookies import cookiejar_from_dict, get_cookie_header +from .cookies import cookiejar_from_dict, get_cookie_header, _copy_cookie_jar from .packages.urllib3.fields import RequestField from .packages.urllib3.filepost import encode_multipart_formdata from .packages.urllib3.util import parse_url @@ -320,7 +320,7 @@ class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): p.method = self.method p.url = self.url p.headers = self.headers.copy() if self.headers is not None else None - p._cookies = self._cookies.copy() if self._cookies is not None else None + p._cookies = _copy_cookie_jar(self._cookies) p.body = self.body p.hooks = self.hooks return p |
