Crate cookie [] [src]

HTTP cookie parsing and cookie jar management.

This crates provides the Cookie type, which directly maps to an HTTP cookie, and the CookieJar type, which allows for simple management of many cookies as well as encryption and signing of cookies for session management.

Usage

Add the following to the [dependencies] section of your Cargo.toml:

cookie = "0.9"

Then add the following line to your crate root:

extern crate cookie;

Features

This crates can be configured at compile-time through the following Cargo features:

  • secure (disabled by default)

    Enables signed and private (signed + encrypted) cookie jars.

    When this feature is enabled, the signed and private method of CookieJar and SignedJar and PrivateJar structures are available. The jars act as "children jars", allowing for easy retrieval and addition of signed and/or encrypted cookies to a cookie jar. When this feature is disabled, none of the types are available.

  • percent-encode (disabled by default)

    Enables percent encoding and decoding of names and values in cookies.

    When this feature is enabled, the encoded and parse_encoded methods of Cookie become available. The encoded method returns a wrapper around a Cookie whose Display implementation percent-encodes the name and value of the cookie. The parse_encoded method percent-decodes the name and value of a Cookie during parsing. When this feature is disabled, the encoded and parse_encoded methods are not available.

You can enable features via the Cargo.toml file:

[dependencies.cookie]
features = ["secure", "percent-encode"]

Structs

Cookie

Representation of an HTTP cookie.

CookieBuilder

Structure that follows the builder pattern for building Cookie structs.

CookieJar

A collection of cookies that tracks its modifications.

Delta

Iterator over the changes to a cookie jar.

EncodedCookie

Wrapper around Cookie whose Display implementation percent-encodes the cookie's name and value.

Iter

Iterator over all of the cookies in a jar.

Key

A cryptographic master key for use with Signed and/or Private jars.

PrivateJar

A child cookie jar that provides authenticated encryption for its cookies.

SignedJar

A child cookie jar that authenticates its cookies.

Enums

ParseError

Enum corresponding to a parsing error.

SameSite

The SameSite cookie attribute.