Expand description

HTTP cookie parsing and cookie jar management.

This crates provides the Cookie type, representing an HTTP cookie, and the CookieJar type, which manages a collection of cookies for session management, recording changes as they are made, and optional automatic cookie encryption and signing.

Usage

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

cookie = "0.11"

Then add the following line to your crate root:

extern crate cookie;

Features

This crate exposes several features, all of which are disabled by default:

  • percent-encode

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

    When this feature is enabled, the Cookie::encoded() and Cookie::parse_encoded() methods are 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.

  • signed

    Enables signed cookies via CookieJar::signed().

    When this feature is enabled, the CookieJar::signed() method, SignedJar type, and Key type are available. The jar acts as “child jar”; operations on the jar automatically sign and verify cookies as they are added and retrieved from the parent jar.

  • private

    Enables private (authenticated, encrypted) cookies via CookieJar::private().

    When this feature is enabled, the CookieJar::private() method, PrivateJar type, and Key type are available. The jar acts as “child jar”; operations on the jar automatically encrypt and decrypt/authenticate cookies as they are added and retrieved from the parent jar.

  • secure

    A meta-feature that simultaneously enables signed and private.

You can enable features via Cargo.toml:

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

Structs

Representation of an HTTP cookie.
Structure that follows the builder pattern for building Cookie structs.
A collection of cookies that tracks its modifications.
Iterator over the changes to a cookie jar.
Wrapper around Cookie whose Display implementation percent-encodes the cookie’s name and value.
Iterator over all of the cookies in a jar.
Keyprivate or signed
A cryptographic master key for use with Signed and/or Private jars.
PrivateJarprivate
A child cookie jar that provides authenticated encryption for its cookies.
SignedJarsigned
A child cookie jar that authenticates its cookies.

Enums

Enum corresponding to a parsing error.
The SameSite cookie attribute.