aboutsummaryrefslogtreecommitdiffstats
path: root/netlib/http/response.py
diff options
context:
space:
mode:
Diffstat (limited to 'netlib/http/response.py')
-rw-r--r--netlib/http/response.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/netlib/http/response.py b/netlib/http/response.py
index 6d56fc1f..7d272e10 100644
--- a/netlib/http/response.py
+++ b/netlib/http/response.py
@@ -5,7 +5,8 @@ import time
from . import cookies
from .headers import Headers
-from .message import Message, _native, _always_bytes, MessageData, MultiDictView
+from .message import Message, _native, _always_bytes, MessageData
+from ..multidict import MultiDictView
from .. import utils
@@ -80,21 +81,26 @@ class Response(Message):
Caveats:
Updating the attr
"""
- return MultiDictView("cookies", self)
+ return MultiDictView(
+ self._get_cookies,
+ self._set_cookies
+ )
- @property
- def _cookies(self):
+ def _get_cookies(self):
h = self.headers.get_all("set-cookie")
return tuple(cookies.parse_set_cookie_headers(h))
- @cookies.setter
- def cookies(self, all_cookies):
+ def _set_cookies(self, value):
cookie_headers = []
- for k, v in all_cookies:
+ for k, v in value:
header = cookies.format_set_cookie_header(k, v[0], v[1])
cookie_headers.append(header)
self.headers.set_all("set-cookie", cookie_headers)
+ @cookies.setter
+ def cookies(self, value):
+ self._set_cookies(value)
+
def refresh(self, now=None):
"""
This fairly complex and heuristic function refreshes a server