cookie session persistence
authorKenneth Reitz <me@kennethreitz.com>
Wed, 17 Aug 2011 06:25:41 +0000 (02:25 -0400)
committerKenneth Reitz <me@kennethreitz.com>
Wed, 17 Aug 2011 06:25:41 +0000 (02:25 -0400)
requests/sessions.py

index 1ce94251094c0204c79807615697031c44e69788..540089cc85cc4f472f698759bc7cb265132aca47 100644 (file)
@@ -12,6 +12,7 @@ requests (cookies, auth, proxies).
 import cookielib
 
 from . import api
+from .utils import add_dict_to_cookiejar
 
 
 
@@ -58,6 +59,14 @@ class Session(object):
                 # Combine instance-local values with kwargs values, with
                 # priority to values in kwargs
                 kwargs = dict(inst_attrs.items() + kwargs.items())
+
+                # If a session request has a cookie_dict, inject the
+                # values into the existing CookieJar instead.
+                if isinstance(kwargs.get('cookies', None), dict):
+                    kwargs['cookies'] = add_dict_to_cookiejar(
+                        inst_attrs['cookies'], kwargs['cookies']
+                    )
+
                 return func(*args, **kwargs)
             return wrapper_func