CookieHeaderEncoding

play.api.mvc.CookieHeaderEncoding

Logic for encoding and decoding Cookie and Set-Cookie headers.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

protected def config: CookiesConfiguration

Concrete methods

def decodeCookieHeader(cookieHeader: String): Seq[Cookie]

Decodes a Cookie header value as a proper cookie set.

Decodes a Cookie header value as a proper cookie set.

Value parameters

cookieHeader

the Cookie header value

Attributes

Returns

decoded cookies

def decodeSetCookieHeader(cookieHeader: String): Seq[Cookie]

Decodes a Set-Cookie header value as a proper cookie set.

Decodes a Set-Cookie header value as a proper cookie set.

Value parameters

cookieHeader

the Set-Cookie header value

Attributes

Returns

decoded cookies

Encodes cookies as a Set-Cookie HTTP header.

Encodes cookies as a Set-Cookie HTTP header.

Value parameters

cookies

the Cookies to encode

Attributes

Returns

a valid Set-Cookie header value

Encodes cookies as a Set-Cookie HTTP header.

Encodes cookies as a Set-Cookie HTTP header.

Value parameters

cookies

the Cookies to encode

Attributes

Returns

a valid Set-Cookie header value

def mergeCookieHeader(cookieHeader: String, cookies: Seq[Cookie]): String

Merges an existing Cookie header with new cookie values

Merges an existing Cookie header with new cookie values

Value parameters

cookieHeader

the existing Cookie header value

cookies

the new cookies to encode

Attributes

Returns

a valid Cookie header value

def mergeSetCookieHeader(cookieHeader: String, cookies: Seq[Cookie]): String

Merges an existing Set-Cookie header with new cookie values

Merges an existing Set-Cookie header with new cookie values

Value parameters

cookieHeader

the existing Set-Cookie header value

cookies

the new cookies to encode

Attributes

Returns

a valid Set-Cookie header value

Concrete fields

Play doesn't support multiple values per header, so has to compress cookies into one header. The problem is, Set-Cookie doesn't support being compressed into one header, the reason being that the separator character for header values, comma, is used in the dates in the Expires attribute of a cookie value. So we synthesise our own separator, that we use here, and before we send the cookie back to the client.

Play doesn't support multiple values per header, so has to compress cookies into one header. The problem is, Set-Cookie doesn't support being compressed into one header, the reason being that the separator character for header values, comma, is used in the dates in the Expires attribute of a cookie value. So we synthesise our own separator, that we use here, and before we send the cookie back to the client.

Attributes