pub struct Cookie(_);
cookie
only.Expand description
Implementations
sourceimpl Cookie
impl Cookie
sourcepub fn new(name: impl Into<String>, value: impl Serialize) -> Self
pub fn new(name: impl Into<String>, value: impl Serialize) -> Self
Creates a new Cookie with the given name
and serialized value
.
sourcepub fn new_with_str(name: impl Into<String>, value: impl Into<String>) -> Self
pub fn new_with_str(name: impl Into<String>, value: impl Into<String>) -> Self
Creates a new Cookie with the given name
and value
.
sourcepub fn named(name: impl Into<String>) -> Self
pub fn named(name: impl Into<String>) -> Self
Creates a new Cookie
with the given name and an empty value.
Example
use poem::web::cookie::Cookie;
let cookie = Cookie::named("foo");
assert_eq!(cookie.name(), "foo");
assert!(cookie.value_str().is_empty());
sourcepub fn parse(s: impl AsRef<str>) -> Result<Self, ParseCookieError>
pub fn parse(s: impl AsRef<str>) -> Result<Self, ParseCookieError>
Parses a Cookie from the given HTTP cookie header value string.
sourcepub fn domain(&self) -> Option<&str>
pub fn domain(&self) -> Option<&str>
Returns the Domain of the cookie if one was specified.
Example
use poem::web::cookie::Cookie;
let cookie = Cookie::parse("foo=bar; domain=example.com").unwrap();
assert_eq!(cookie.domain(), Some("example.com"));
sourcepub fn expires(&self) -> Option<DateTime<Utc>>
pub fn expires(&self) -> Option<DateTime<Utc>>
Returns the expiration date-time of the cookie if one was specified.
sourcepub fn http_only(&self) -> bool
pub fn http_only(&self) -> bool
Returns whether this cookie was marked HttpOnly
or not.
Example
use poem::web::cookie::Cookie;
let cookie = Cookie::parse("foo=bar; HttpOnly").unwrap();
assert!(cookie.http_only());
sourcepub fn make_permanent(&mut self)
pub fn make_permanent(&mut self)
Makes self
a permanent
cookie by extending its expiration and max
age 20 years into the future.
Example
use std::time::Duration;
use poem::web::cookie::Cookie;
let mut cookie = Cookie::new_with_str("foo", "bar");
cookie.make_permanent();
assert_eq!(
cookie.max_age(),
Some(Duration::from_secs(60 * 60 * 24 * 365 * 20))
);
sourcepub fn make_removal(&mut self)
pub fn make_removal(&mut self)
Make self
a removal
cookie by clearing its value, setting a max-age
of 0, and setting an expiration date far in the past.
Example
use std::time::Duration;
use poem::web::cookie::Cookie;
let mut cookie = Cookie::new_with_str("foo", "bar");
cookie.make_removal();
assert_eq!(cookie.max_age(), Some(Duration::from_secs(0)));
sourcepub fn max_age(&self) -> Option<Duration>
pub fn max_age(&self) -> Option<Duration>
Returns the specified max-age of the cookie if one was specified.
Example
use std::time::Duration;
use poem::web::cookie::Cookie;
let cookie = Cookie::parse("foo=bar; Max-Age=3600").unwrap();
assert_eq!(cookie.max_age(), Some(Duration::from_secs(3600)));
sourcepub fn name(&self) -> &str
pub fn name(&self) -> &str
Returns the name of self
.
Example
use poem::web::cookie::Cookie;
let cookie = Cookie::parse("foo=bar").unwrap();
assert_eq!(cookie.name(), "foo");
sourcepub fn path(&self) -> Option<&str>
pub fn path(&self) -> Option<&str>
Returns the Path
of the cookie if one was specified.
Example
use poem::web::cookie::Cookie;
let cookie = Cookie::parse("foo=bar; path=/api").unwrap();
assert_eq!(cookie.path(), Some("/api"));
sourcepub fn same_site(&self) -> Option<SameSite>
pub fn same_site(&self) -> Option<SameSite>
Returns the SameSite
attribute of this cookie if one was specified.
Example
use poem::web::cookie::{Cookie, SameSite};
let cookie = Cookie::parse("foo=bar; SameSite=Strict").unwrap();
assert_eq!(cookie.same_site(), Some(SameSite::Strict));
sourcepub fn secure(&self) -> bool
pub fn secure(&self) -> bool
Returns whether this cookie was marked Secure
or not.
Example
use poem::web::cookie::Cookie;
let cookie = Cookie::parse("foo=bar; Secure").unwrap();
assert!(cookie.secure());
sourcepub fn set_domain(&mut self, domain: impl Into<String>)
pub fn set_domain(&mut self, domain: impl Into<String>)
Sets the domain
of self
to domain
.
sourcepub fn set_expires(&mut self, time: DateTime<impl TimeZone>)
pub fn set_expires(&mut self, time: DateTime<impl TimeZone>)
Sets the expires field of self
to time
.
sourcepub fn set_http_only(&mut self, value: impl Into<Option<bool>>)
pub fn set_http_only(&mut self, value: impl Into<Option<bool>>)
Sets the value of HttpOnly
in self
to value
.
sourcepub fn set_max_age(&mut self, value: Duration)
pub fn set_max_age(&mut self, value: Duration)
Sets the value of MaxAge
in self
to value
.
sourcepub fn set_same_site(&mut self, value: impl Into<Option<SameSite>>)
pub fn set_same_site(&mut self, value: impl Into<Option<SameSite>>)
Sets the value of SameSite
in self
to value
.
sourcepub fn set_secure(&mut self, value: impl Into<Option<bool>>)
pub fn set_secure(&mut self, value: impl Into<Option<bool>>)
Sets the value of Secure
in self
to value
.
sourcepub fn set_value_str(&mut self, value: impl Into<String>)
pub fn set_value_str(&mut self, value: impl Into<String>)
Sets the value of self
to value
.
sourcepub fn set_value(&mut self, value: impl Serialize)
pub fn set_value(&mut self, value: impl Serialize)
Sets the value of self
to the serialized value
.
sourcepub fn value<'de, T: Deserialize<'de>>(&'de self) -> Result<T, ParseCookieError>
pub fn value<'de, T: Deserialize<'de>>(&'de self) -> Result<T, ParseCookieError>
Returns the value of self
to the deserialized value
.