Enum actix_web::cookie::Expiration
source · [−]pub enum Expiration {
DateTime(OffsetDateTime),
Session,
}
cookies
only.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::Session
Some(OffsetDateTime)
->Expiration::DateTime
OffsetDateTime
->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
DateTime(OffsetDateTime)
Expiration for a “permanent” cookie at a specific date-time.
Session
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
Performs the conversion.
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
Compare self to key
and return true
if they are equal.
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more