\section{\module{Cookie} ---
         HTTP state management}

\declaremodule{standard}{Cookie}
\modulesynopsis{Support for HTTP state management (cookies).}
\moduleauthor{Timothy O'Malley}{timo@alum.mit.edu}
\sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il}


The \module{Cookie} module defines classes for abstracting the concept of 
cookies, an HTTP state management mechanism. It supports both simple
string-only cookies, and provides an abstraction for having any serializable
data-type as cookie value.

The module formerly strictly applied the parsing rules described in
the \rfc{2109} and \rfc{2068} specifications.  It has since been discovered
that MSIE 3.0x doesn't follow the character rules outlined in those
specs.  As a result, the parsing rules used are a bit less strict.

\begin{excdesc}{CookieError}
Exception failing because of \rfc{2109} invalidity: incorrect
attributes, incorrect \mailheader{Set-Cookie} header, etc.
\end{excdesc}

\begin{classdesc}{BaseCookie}{\optional{input}}
This class is a dictionary-like object whose keys are strings and
whose values are \class{Morsel} instances. Note that upon setting a key to
a value, the value is first converted to a \class{Morsel} containing
the key and the value.

If \var{input} is given, it is passed to the \method{load()} method.
\end{classdesc}

\begin{classdesc}{SimpleCookie}{\optional{input}}
This class derives from \class{BaseCookie} and overrides
\method{value_decode()} and \method{value_encode()} to be the identity
and \function{str()} respectively.
\end{classdesc}

\begin{classdesc}{SerialCookie}{\optional{input}}
This class derives from \class{BaseCookie} and overrides
\method{value_decode()} and \method{value_encode()} to be the
\function{pickle.loads()} and \function{pickle.dumps()}.

\deprecated{2.3}{Reading pickled values from untrusted
cookie data is a huge security hole, as pickle strings can be crafted
to cause arbitrary code to execute on your server.  It is supported
for backwards compatibility only, and may eventually go away.}
\end{classdesc}

\begin{classdesc}{SmartCookie}{\optional{input}}
This class derives from \class{BaseCookie}. It overrides
\method{value_decode()} to be \function{pickle.loads()} if it is a
valid pickle, and otherwise the value itself. It overrides
\method{value_encode()} to be \function{pickle.dumps()} unless it is a
string, in which case it returns the value itself.

\deprecated{2.3}{The same security warning from \class{SerialCookie}
applies here.}
\end{classdesc}

A further security note is warranted.  For backwards compatibility,
the \module{Cookie} module exports a class named \class{Cookie} which
is just an alias for \class{SmartCookie}.  This is probably a mistake
and will likely be removed in a future version.  You should not use
the \class{Cookie} class in your applications, for the same reason why
you should not use the \class{SerialCookie} class.


\begin{seealso}
  \seemodule{cookielib}{HTTP cookie handling for for web
    \emph{clients}.  The \module{cookielib} and \module{Cookie}
    modules do not depend on each other.}

  \seerfc{2109}{HTTP State Management Mechanism}{This is the state
                management specification implemented by this module.}
\end{seealso}


\subsection{Cookie Objects \label{cookie-objects}}

\begin{methoddesc}[BaseCookie]{value_decode}{val}
Return a decoded value from a string representation. Return value can
be any type. This method does nothing in \class{BaseCookie} --- it exists
so it can be overridden.
\end{methoddesc}

\begin{methoddesc}[BaseCookie]{value_encode}{val}
Return an encoded value. \var{val} can be any type, but return value
must be a string. This method does nothing in \class{BaseCookie} --- it exists
so it can be overridden

In general, it should be the case that \method{value_encode()} and 
\method{value_decode()} are inverses on the range of \var{value_decode}.
\end{methoddesc}

\begin{methoddesc}[BaseCookie]{output}{\optional{attrs\optional{, header\optional{, sep}}}}
Return a string representation suitable to be sent as HTTP headers.
\var{attrs} and \var{header} are sent to each \class{Morsel}'s
\method{output()} method. \var{sep} is used to join the headers
together, and is by default a newline.
\end{methoddesc}

\begin{methoddesc}[BaseCookie]{js_output}{\optional{attrs}}
Return an embeddable JavaScript snippet, which, if run on a browser which
supports JavaScript, will act the same as if the HTTP headers was sent.

The meaning for \var{attrs} is the same as in \method{output()}.
\end{methoddesc}

\begin{methoddesc}[BaseCookie]{load}{rawdata}
If \var{rawdata} is a string, parse it as an \code{HTTP_COOKIE} and add
the values found there as \class{Morsel}s. If it is a dictionary, it
is equivalent to:

\begin{verbatim}
for k, v in rawdata.items():
    cookie[k] = v
\end{verbatim}
\end{methoddesc}


\subsection{Morsel Objects \label{morsel-objects}}

\begin{classdesc}{Morsel}{}
Abstract a key/value pair, which has some \rfc{2109} attributes.

Morsels are dictionary-like objects, whose set of keys is constant ---
the valid \rfc{2109} attributes, which are

\begin{itemize}
\item \code{expires}
\item \code{path}
\item \code{comment}
\item \code{domain}
\item \code{max-age}
\item \code{secure}
\item \code{version}
\end{itemize}

The keys are case-insensitive.
\end{classdesc}

\begin{memberdesc}[Morsel]{value}
The value of the cookie.
\end{memberdesc}

\begin{memberdesc}[Morsel]{coded_value}
The encoded value of the cookie --- this is what should be sent.
\end{memberdesc}

\begin{memberdesc}[Morsel]{key}
The name of the cookie.
\end{memberdesc}

\begin{methoddesc}[Morsel]{set}{key, value, coded_value}
Set the \var{key}, \var{value} and \var{coded_value} members.
\end{methoddesc}

\begin{methoddesc}[Morsel]{isReservedKey}{K}
Whether \var{K} is a member of the set of keys of a \class{Morsel}.
\end{methoddesc}

\begin{methoddesc}[Morsel]{output}{\optional{attrs\optional{, header}}}
Return a string representation of the Morsel, suitable
to be sent as an HTTP header. By default, all the attributes are included,
unless \var{attrs} is given, in which case it should be a list of attributes
to use. \var{header} is by default \code{"Set-Cookie:"}.
\end{methoddesc}

\begin{methoddesc}[Morsel]{js_output}{\optional{attrs}}
Return an embeddable JavaScript snippet, which, if run on a browser which
supports JavaScript, will act the same as if the HTTP header was sent.

The meaning for \var{attrs} is the same as in \method{output()}.
\end{methoddesc}

\begin{methoddesc}[Morsel]{OutputString}{\optional{attrs}}
Return a string representing the Morsel, without any surrounding HTTP
or JavaScript.

The meaning for \var{attrs} is the same as in \method{output()}.
\end{methoddesc}
                

\subsection{Example \label{cookie-example}}

The following example demonstrates how to use the \module{Cookie} module.

\begin{verbatim}
>>> import Cookie
>>> C = Cookie.SimpleCookie()
>>> C = Cookie.SerialCookie()
>>> C = Cookie.SmartCookie()
>>> C["fig"] = "newton"
>>> C["sugar"] = "wafer"
>>> print C # generate HTTP headers
Set-Cookie: sugar=wafer;
Set-Cookie: fig=newton;
>>> print C.output() # same thing
Set-Cookie: sugar=wafer;
Set-Cookie: fig=newton;
>>> C = Cookie.SmartCookie()
>>> C["rocky"] = "road"
>>> C["rocky"]["path"] = "/cookie"
>>> print C.output(header="Cookie:")
Cookie: rocky=road; Path=/cookie;
>>> print C.output(attrs=[], header="Cookie:")
Cookie: rocky=road;
>>> C = Cookie.SmartCookie()
>>> C.load("chips=ahoy; vienna=finger") # load from a string (HTTP header)
>>> print C
Set-Cookie: vienna=finger;
Set-Cookie: chips=ahoy;
>>> C = Cookie.SmartCookie()
>>> C.load('keebler="E=everybody; L=\\"Loves\\"; fudge=\\012;";')
>>> print C
Set-Cookie: keebler="E=everybody; L=\"Loves\"; fudge=\012;";
>>> C = Cookie.SmartCookie()
>>> C["oreo"] = "doublestuff"
>>> C["oreo"]["path"] = "/"
>>> print C
Set-Cookie: oreo=doublestuff; Path=/;
>>> C = Cookie.SmartCookie()
>>> C["twix"] = "none for you"
>>> C["twix"].value
'none for you'
>>> C = Cookie.SimpleCookie()
>>> C["number"] = 7 # equivalent to C["number"] = str(7)
>>> C["string"] = "seven"
>>> C["number"].value
'7'
>>> C["string"].value
'seven'
>>> print C
Set-Cookie: number=7;
Set-Cookie: string=seven;
>>> C = Cookie.SerialCookie()
>>> C["number"] = 7
>>> C["string"] = "seven"
>>> C["number"].value
7
>>> C["string"].value
'seven'
>>> print C
Set-Cookie: number="I7\012.";
Set-Cookie: string="S'seven'\012p1\012.";
>>> C = Cookie.SmartCookie()
>>> C["number"] = 7
>>> C["string"] = "seven"
>>> C["number"].value
7
>>> C["string"].value
'seven'
>>> print C
Set-Cookie: number="I7\012.";
Set-Cookie: string=seven;
\end{verbatim}
