Enum cookie::Expiration [−][src]
pub enum Expiration {
DateTime(OffsetDateTime),
Session,
}Expand description
A cookie’s expiration: either session or a date-time.
An Expiration is constructible via Expiration::from() with an
Option<OffsetDateTime> or an OffsetDateTime:
None->Expiration::SessionSome(OffsetDateTime)->Expiration::DateTimeOffsetDateTime->Expiration::DateTime
use cookie::Expiration; use time::OffsetDateTime; let expires = Expiration::from(None); assert_eq!(expires, Expiration::Session); let now = OffsetDateTime::now_utc(); let expires = Expiration::from(now); assert_eq!(expires, Expiration::DateTime(now)); let expires = Expiration::from(Some(now)); assert_eq!(expires, Expiration::DateTime(now));
Variants
Expiration for a “permanent” cookie at a specific date-time.
Tuple Fields of DateTime
Expiration for a “session” cookie. Browsers define the notion of a “session” and will automatically expire session cookies when they deem the “session” to be over. This is typically, but need not be, when the browser is closed.
Implementations
Returns true if self is an Expiration::DateTime.
Example
use cookie::Expiration; use time::OffsetDateTime; let expires = Expiration::from(None); assert!(!expires.is_datetime()); let expires = Expiration::from(OffsetDateTime::now_utc()); assert!(expires.is_datetime());
Returns true if self is an Expiration::Session.
Example
use cookie::Expiration; use time::OffsetDateTime; let expires = Expiration::from(None); assert!(expires.is_session()); let expires = Expiration::from(OffsetDateTime::now_utc()); assert!(!expires.is_session());
Returns the inner OffsetDateTime if self is a DateTime.
Example
use cookie::Expiration; use time::OffsetDateTime; let expires = Expiration::from(None); assert!(expires.datetime().is_none()); let now = OffsetDateTime::now_utc(); let expires = Expiration::from(now); assert_eq!(expires.datetime(), Some(now));
Applied f to the inner OffsetDateTime if self is a DateTime and
returns the mapped Expiration.
Example
use cookie::Expiration; use time::{OffsetDateTime, Duration}; let now = OffsetDateTime::now_utc(); let one_week = Duration::weeks(1); let expires = Expiration::from(now); assert_eq!(expires.map(|t| t + one_week).datetime(), Some(now + one_week)); let expires = Expiration::from(None); assert_eq!(expires.map(|t| t + one_week).datetime(), None);
Trait Implementations
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
Auto Trait Implementations
impl RefUnwindSafe for Expiration
impl Send for Expiration
impl Sync for Expiration
impl Unpin for Expiration
impl UnwindSafe for Expiration
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self