Struct tower_cookies::cookie::prefix::Host
source · pub struct Host;
Expand description
See Prefix
and PrefixedJar
for usage details.
Trait Implementations§
source§impl Prefix for Host
impl Prefix for Host
source§const PREFIX: &'static str = "__Host-"
const PREFIX: &'static str = "__Host-"
The "__Host-"
prefix string.
source§fn conform(cookie: Cookie<'_>) -> Cookie<'_>
fn conform(cookie: Cookie<'_>) -> Cookie<'_>
Modify cookie
so it conforms to the prefix’s requirements.
Note: this method is called automatically by PrefixedJar
. It does
not need to and should not be called manually under normal
circumstances.
According to RFC 6265bis-12 §4.1.3.2:
If a cookie's name begins with a case-sensitive match for the string
__Host-, then the cookie will have been set with a Secure attribute,
a Path attribute with a value of /, and no Domain attribute.
As such, to make a cookie conforn, this method:
§Example
use cookie::{CookieJar, Cookie, prefix::Host};
// A cookie with some non-conformant properties.
let cookie = Cookie::build(("name", "some-value"))
.secure(false)
.path("/foo/bar")
.domain("rocket.rs")
.http_only(true);
// Add the cookie to the jar.
let mut jar = CookieJar::new();
jar.prefixed_mut(Host).add(cookie);
// Fetch the cookie: notice it's been made to conform.
let cookie = jar.prefixed(Host).get("name").unwrap();
assert_eq!(cookie.name(), "name");
assert_eq!(cookie.value(), "some-value");
assert_eq!(cookie.secure(), Some(true));
assert_eq!(cookie.path(), Some("/"));
assert_eq!(cookie.domain(), None);
assert_eq!(cookie.http_only(), Some(true));
Auto Trait Implementations§
impl Freeze for Host
impl RefUnwindSafe for Host
impl Send for Host
impl Sync for Host
impl Unpin for Host
impl UnwindSafe for Host
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more