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());