[−][src]Struct hyperx::header::Cookie
Cookie
header, defined in RFC6265
If the user agent does attach a Cookie header field to an HTTP request, the user agent must send the cookie-string as the value of the header field.
When the user agent generates an HTTP request, the user agent MUST NOT attach more than one Cookie header field.
Example values
SID=31d4d96e407aad42
SID=31d4d96e407aad42; lang=en-US
Example
use hyperx::header::{Cookie, TypedHeaders}; let mut headers = http::HeaderMap::new(); let mut cookie = Cookie::new(); cookie.append("foo", "bar"); assert_eq!(cookie.get("foo"), Some("bar")); headers.encode(&cookie);
Implementations
impl Cookie
[src]
pub fn new() -> Cookie
[src]
Creates a new Cookie
header.
pub fn set<K, V>(&mut self, key: K, value: V) where
K: Into<Cow<'static, str>>,
V: Into<Cow<'static, str>>,
[src]
K: Into<Cow<'static, str>>,
V: Into<Cow<'static, str>>,
Sets a name and value for the Cookie
.
Note
This will remove all other instances with the same name, and insert the new value.
pub fn append<K, V>(&mut self, key: K, value: V) where
K: Into<Cow<'static, str>>,
V: Into<Cow<'static, str>>,
[src]
K: Into<Cow<'static, str>>,
V: Into<Cow<'static, str>>,
Append a name and value for the Cookie
.
Note
Cookies are allowed to set a name with a a value multiple times. For example:
use hyperx::header::Cookie; let mut cookie = Cookie::new(); cookie.append("foo", "bar"); cookie.append("foo", "quux"); assert_eq!(cookie.to_string(), "foo=bar; foo=quux");
pub fn get(&self, key: &str) -> Option<&str>
[src]
Get a value for the name, if it exists.
Note
Only returns the first instance found. To access
any other values associated with the name, parse
the str
representation.
pub fn iter(&self) -> CookieIter<'_>ⓘNotable traits for CookieIter<'a>
impl<'a> Iterator for CookieIter<'a> type Item = (&'a str, &'a str);
[src]
Notable traits for CookieIter<'a>
impl<'a> Iterator for CookieIter<'a> type Item = (&'a str, &'a str);
Iterate cookies.
Iterate cookie (key, value) in insertion order.
use hyperx::header::Cookie; let mut cookie = Cookie::new(); cookie.append("foo", "bar"); cookie.append(String::from("dyn"), String::from("amic")); let mut keys = Vec::new(); let mut values = Vec::new(); for (k, v) in cookie.iter() { keys.push(k); values.push(v); } assert_eq!(keys, vec!["foo", "dyn"]); assert_eq!(values, vec!["bar", "amic"]);
Trait Implementations
impl Clone for Cookie
[src]
impl Debug for Cookie
[src]
impl Display for Cookie
[src]
impl Header for Cookie
[src]
pub fn header_name() -> &'static str
[src]
pub fn parse_header<'a, T>(raw: &'a T) -> Result<Cookie> where
T: RawLike<'a>,
[src]
T: RawLike<'a>,
pub fn fmt_header(&self, f: &mut Formatter<'_, '_>) -> Result
[src]
impl PartialEq<Cookie> for Cookie
[src]
pub fn eq(&self, other: &Cookie) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl StandardHeader for Cookie
[src]
pub fn http_header_name() -> HeaderName
[src]
Auto Trait Implementations
impl RefUnwindSafe for Cookie
[src]
impl Send for Cookie
[src]
impl Sync for Cookie
[src]
impl Unpin for Cookie
[src]
impl UnwindSafe for Cookie
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,