Struct cookie::CookieBuilder[][src]

pub struct CookieBuilder<'c> { /* fields omitted */ }
Expand description

Structure that follows the builder pattern for building Cookie structs.

To construct a cookie:

  1. Call Cookie::build to start building.
  2. Use any of the builder methods to set fields in the cookie.
  3. Call CookieBuilder::finish() to retrieve the built cookie.

Example

extern crate time;

use cookie::Cookie;
use time::Duration;

let cookie: Cookie = Cookie::build("name", "value")
    .domain("www.rust-lang.org")
    .path("/")
    .secure(true)
    .http_only(true)
    .max_age(Duration::days(1))
    .finish();

Implementations

Creates a new CookieBuilder instance from the given name and value.

This method is typically called indirectly via Cookie::build().

Example

use cookie::Cookie;

let c = Cookie::build("foo", "bar").finish();
assert_eq!(c.name_value(), ("foo", "bar"));

Sets the expires field in the cookie being built.

Example

extern crate time;
use time::OffsetDateTime;

use cookie::{Cookie, Expiration};

let c = Cookie::build("foo", "bar")
    .expires(OffsetDateTime::now())
    .finish();

assert!(c.expires().is_some());

let c = Cookie::build("foo", "bar")
    .expires(None)
    .finish();

assert_eq!(c.expires(), Some(Expiration::Session));

Sets the max_age field in the cookie being built.

Example

extern crate time;
use time::Duration;

use cookie::Cookie;

let c = Cookie::build("foo", "bar")
    .max_age(Duration::minutes(30))
    .finish();

assert_eq!(c.max_age(), Some(Duration::seconds(30 * 60)));

Sets the domain field in the cookie being built.

Example

use cookie::Cookie;

let c = Cookie::build("foo", "bar")
    .domain("www.rust-lang.org")
    .finish();

assert_eq!(c.domain(), Some("www.rust-lang.org"));

Sets the path field in the cookie being built.

Example

use cookie::Cookie;

let c = Cookie::build("foo", "bar")
    .path("/")
    .finish();

assert_eq!(c.path(), Some("/"));

Sets the secure field in the cookie being built.

Example

use cookie::Cookie;

let c = Cookie::build("foo", "bar")
    .secure(true)
    .finish();

assert_eq!(c.secure(), Some(true));

Sets the http_only field in the cookie being built.

Example

use cookie::Cookie;

let c = Cookie::build("foo", "bar")
    .http_only(true)
    .finish();

assert_eq!(c.http_only(), Some(true));

Sets the same_site field in the cookie being built.

Example

use cookie::{Cookie, SameSite};

let c = Cookie::build("foo", "bar")
    .same_site(SameSite::Strict)
    .finish();

assert_eq!(c.same_site(), Some(SameSite::Strict));

Makes the cookie being built ‘permanent’ by extending its expiration and max age 20 years into the future.

Example

extern crate time;

use cookie::Cookie;
use time::Duration;

let c = Cookie::build("foo", "bar")
    .permanent()
    .finish();

assert_eq!(c.max_age(), Some(Duration::days(365 * 20)));

Finishes building and returns the built Cookie.

Example

use cookie::Cookie;

let c = Cookie::build("foo", "bar")
    .domain("crates.io")
    .path("/")
    .finish();

assert_eq!(c.name_value(), ("foo", "bar"));
assert_eq!(c.domain(), Some("crates.io"));
assert_eq!(c.path(), Some("/"));

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.