Enum axum_sessions::SameSite
source ยท pub enum SameSite {
Strict,
Lax,
None,
}
Expand description
The SameSite
cookie attribute.
A cookie with a SameSite
attribute is imposed restrictions on when it is
sent to the origin server in a cross-site request. If the SameSite
attribute is โStrictโ, then the cookie is never sent in cross-site requests.
If the SameSite
attribute is โLaxโ, the cookie is only sent in cross-site
requests with โsafeโ HTTP methods, i.e, GET
, HEAD
, OPTIONS
, TRACE
.
If the SameSite
attribute is โNoneโ, the cookie is sent in all cross-site
requests if the โSecureโ flag is also set, otherwise the cookie is ignored.
This library automatically sets the โSecureโ flag on cookies when
same_site
is set to SameSite::None
as long as secure
is not explicitly
set to false
.
If the SameSite
attribute is not present (by not setting SameSite
initally or passing None
to Cookie::set_same_site()
), then the cookie
will be sent as normal.
Note: This cookie attribute is an HTTP draft! Its meaning and definition are subject to change.
Variantsยง
Strict
The โStrictโ SameSite
attribute.
Lax
The โLaxโ SameSite
attribute.
None
The โNoneโ SameSite
attribute.
Implementationsยง
sourceยงimpl SameSite
impl SameSite
sourcepub fn is_strict(&self) -> bool
pub fn is_strict(&self) -> bool
Returns true
if self
is SameSite::Strict
and false
otherwise.
Example
use cookie::SameSite;
let strict = SameSite::Strict;
assert!(strict.is_strict());
assert!(!strict.is_lax());
assert!(!strict.is_none());