Cookies

Setting cookies

Call response.add_cookie to add a cookie to the response:

def view():
    response = Response(["content"])
    return response.add_cookie('partnumber', 'Rocket_Launcher_0001',
                               path='/acme', max_age=3600,
                               domain='example.com')

Clearing cookies

Clear a cookie by sending a new cookie with the same details as the one you are clearing, but with an empty value and max_age=0:

return response.add_cookie('partnumber', '', path='/acme', max_age=0,
                           domain='example.com'))

fresco.cookie API reference

class fresco.cookie.Cookie(name, value, max_age=None, expires=None, path='/', secure=False, domain=None, comment=None, httponly=False, version=1)[source]

Represents an HTTP cookie.

See rfc2109, HTTP State Management Mechanism

Example:

>>> from fresco.cookie import Cookie
>>> c = Cookie('session_id', 'abc123')
>>> c.path = '/cgi-bin'
>>> c.domain = '.example.org'
>>> c.path
'/cgi-bin'
>>> str(c)
'session_id=abc123;Domain=.example.org;Path=/cgi-bin'
expires

Return the cookie expires value as an instance of datetime.

get_expires()[source]

Return the cookie expires value as an instance of datetime.

set_expires(dt)[source]

Set the cookie expires value to datetime object dt

Synopsis:

>>> from fresco import Response
>>> from fresco.cookie import expire_cookie
>>> def view():
...     return Response(set_cookie=expire_cookie('X', path='/'))
...
>>> from fresco import FrescoApp
>>> with FrescoApp().requestcontext() as c:
...     print(view().get_header('Set-Cookie'))
...
X=;Expires=Tue, 01 Jan 1980 00:00:00 GMT;Max-Age=0;Path=/
fresco.cookie.format_date(utctimetuple)[source]

Format a date for inclusion in a Set-Cookie header, eg ‘Sun, 06 Nov 1994 08:49:37 GMT’.

According to RFC6265, this must be an “rfc1123-date, defined in RFC2616, Section 3.3.1”

RFC2616 says in turn:

HTTP applications have historically allowed three different formats for the representation of date/time stamps:

Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036 Sun Nov 6 08:49:37 1994 ; ANSI C’s asctime() format

The first format is preferred as an Internet standard[...]

Return a list of cookie (name, value) pairs read from the request headers.

Parameters:
  • cookie_string – The cookie, eg CUSTOMER=FRED
  • unquote – A function to decode values. By default values are assumed to be url quoted. If None the raw value will be returned