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.


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

cookie = "0.7"

Then add the following line to your crate root:

extern crate cookie;


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:

features = ["secure", "percent-encode"]



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.


Iterator over all of the cookies in a jar.



Enum corresponding to a parsing error.


The SameSite cookie attribute.