def cookies(self): """Container of request cookies """ cookies = SimpleCookie() cookie = self.environ.get('HTTP_COOKIE') if cookie: cookies.load(cookie) return cookies
def test_parse_cookie(self): self.assertEqual(parse_cookie('invalid key=true'), {'key': 'true'}) self.assertEqual(parse_cookie('invalid;key=true'), {'key': 'true'}) self.assertEqual(parse_cookie(''), {}) self.assertEqual(parse_cookie(None), {}) c = SimpleCookie() c.load('key=true') self.assertEqual(parse_cookie(c), {'key': 'true'}) self.assertEqual(parse_cookie('key='), {'key': ''})
def __init__(self, status=None, content=None, response_headers=None, content_type=None, encoding=None, environ=None): self.environ = environ self.status_code = status or self.DEFAULT_STATUS_CODE self.encoding = encoding self.cookies = SimpleCookie() self.headers = Headers(response_headers, kind='server') self.content = content if content_type is not None: self.content_type = content_type
def test_cookies(self): h = Headers() cookies = SimpleCookie({'bla': 'foo', 'pippo': 'pluto'}) self.assertEqual(len(cookies), 2) for c in cookies.values(): v = c.OutputString() h.add_header('Set-Cookie', v) h = str(h) self.assertTrue( h in ('Set-Cookie: bla=foo\r\nSet-Cookie: pippo=pluto\r\n\r\n', 'Set-Cookie: pippo=pluto\r\nSet-Cookie: bla=foo\r\n\r\n'))
def handle_cookies(response, exc=None): '''Handle response cookies. ''' headers = response.headers request = response.request client = request.client response._cookies = c = SimpleCookie() if 'set-cookie' in headers or 'set-cookie2' in headers: for cookie in (headers.get('set-cookie2'), headers.get('set-cookie')): if cookie: c.load(cookie) if client.store_cookies: client.cookies.extract_cookies(response, request)
def __init__(self, status=None, content=None, response_headers=None, content_type=None, encoding=None, environ=None, can_store_cookies=True): self.environ = environ self.status_code = status or self.DEFAULT_STATUS_CODE self.encoding = encoding self.cookies = SimpleCookie() self.headers = Headers(response_headers or ()) self.content = content self._can_store_cookies = can_store_cookies if content_type is not None: self.content_type = content_type