From 973e9cb54826062328f1c8650630819205ccfe8e Mon Sep 17 00:00:00 2001 From: Suraj Barkale Date: Tue, 15 May 2012 19:47:02 +0530 Subject: [PATCH] Remove sharing of base_headers config between sessions. Since base_headers is a dictionary, it's reference was shared with all instances of Session objects. Using deepcopy here should not incur large performance penalty. --- requests/sessions.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requests/sessions.py b/requests/sessions.py index dd670dd..aa90ecc 100644 --- a/requests/sessions.py +++ b/requests/sessions.py @@ -9,6 +9,7 @@ requests (cookies, auth, proxies). """ +from copy import deepcopy from .compat import cookielib from .cookies import cookiejar_from_dict, remove_cookie_by_name from .defaults import defaults @@ -81,7 +82,7 @@ class Session(object): self.cert = cert for (k, v) in list(defaults.items()): - self.config.setdefault(k, v) + self.config.setdefault(k, deepcopy(v)) self.init_poolmanager() -- 2.7.4