mirror of
https://github.com/kennethreitz/requests.git
synced 2026-06-05 22:50:18 +00:00
requests cookies behaving
This commit is contained in:
+2
-10
@@ -164,6 +164,7 @@ class Request(object):
|
||||
|
||||
# Create the lone response object.
|
||||
r = build(resp)
|
||||
self.cookies.update(r.cookies)
|
||||
|
||||
# Store the HTTP response, just in case.
|
||||
r._response = resp
|
||||
@@ -236,6 +237,7 @@ class Request(object):
|
||||
# Send her away!
|
||||
request.send()
|
||||
r = request.response
|
||||
self.cookies.update(r.cookies)
|
||||
|
||||
# Insert collected history.
|
||||
r.history = history
|
||||
@@ -344,16 +346,6 @@ class Request(object):
|
||||
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:
|
||||
|
||||
+18
-3
@@ -58,7 +58,7 @@ class Session(object):
|
||||
config=None):
|
||||
|
||||
self.headers = headers
|
||||
self.cookies = cookies
|
||||
self.cookies = cookies or {}
|
||||
self.auth = auth
|
||||
self.timeout = timeout
|
||||
self.proxies = proxies
|
||||
@@ -96,10 +96,18 @@ class Session(object):
|
||||
|
||||
# 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.
|
||||
@@ -116,8 +124,15 @@ class Session(object):
|
||||
_kwargs['_pools'] = self.__pools
|
||||
|
||||
# TODO: Persist cookies.
|
||||
# print self.cookies
|
||||
|
||||
return func(*args, **_kwargs)
|
||||
# print _kwargs.get('cookies')
|
||||
# print '%%%'
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user