# Create the lone response object.
r = build(resp)
+ self.cookies.update(r.cookies)
# Store the HTTP response, just in case.
r._response = resp
# Send her away!
request.send()
r = request.response
+ self.cookies.update(r.cookies)
# Insert collected history.
r.history = history
if self.config.get('keepalive') and pools:
self._pools = pools
- # Extract cookies.
- if self.cookies is not None:
- pass
- # cookies = cookiejar_from_dict(self.cookies)
-# >>> C = Cookie.SimpleCookie()
-# >>> C["rocky"] = "road"
-# >>> C["rocky"]["path"] = "/cookie"
-# >>> print C.output(header="Cookie:")
-# Cookie: rocky=road; Path=/cookie
- # self.cookiejar.extract_cookies(resp, req)
# except (urllib2.HTTPError, urllib2.URLError), why:
except Exception, why:
config=None):
self.headers = headers
- self.cookies = cookies
+ self.cookies = cookies or {}
self.auth = auth
self.timeout = timeout
self.proxies = proxies
# Merge local and session arguments.
for attr in self.__attrs__:
+ # if attr == 'cookies':
+ # print getattr(self, attr)
+ # print kwargs.get(attr)
+
+ # Merge local and session dictionaries.
default_attr = getattr(self, attr)
local_attr = kwargs.get(attr)
- # Merge local and session dictionaries.
+ # Cookies persist.
+ if attr == 'cookies':
+ local_attr = local_attr or {}
+
new_attr = merge_kwargs(local_attr, default_attr)
# Skip attributes that were set to None.
_kwargs['_pools'] = self.__pools
# TODO: Persist cookies.
+ # print self.cookies
+
+ # print _kwargs.get('cookies')
+ # print '%%%'
- return func(*args, **_kwargs)
+ r = func(*args, **_kwargs)
+ # print r.cookies
+ self.cookies.update(r.cookies)
+ return r
return wrapper_func
# Map and decorate each function available in requests.api