Struct hyper::header::Cookie
[−]
[src]
pub struct 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 hyper::header::{Headers, Cookie}; let mut headers = Headers::new(); let mut cookie = Cookie::new(); cookie.append("foo", "bar"); assert_eq!(cookie.get("foo"), Some("bar")); headers.set(cookie);
Methods
impl Cookie
[src]
impl Cookie
pub fn new() -> Cookie
[src]
pub fn new() -> Cookie
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]
pub fn set<K, V>(&mut self, key: K, value: V) where
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]
pub fn append<K, V>(&mut self, key: K, value: V) where
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 hyper::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]
pub fn get(&self, key: &str) -> Option<&str>
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.
ⓘImportant traits for CookieIter<'a>pub fn iter(&self) -> CookieIter
[src]
pub fn iter(&self) -> CookieIter
Iterate cookies.
Iterate cookie (key, value) in insertion order.
use hyper::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 Clone for Cookie
fn clone(&self) -> Cookie
[src]
fn clone(&self) -> Cookie
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Header for Cookie
[src]
impl Header for Cookie
fn header_name() -> &'static str
[src]
fn header_name() -> &'static str
Returns the name of the header field this belongs to. Read more
fn parse_header(raw: &Raw) -> Result<Cookie>
[src]
fn parse_header(raw: &Raw) -> Result<Cookie>
Parse a header from a raw stream of bytes. Read more
fn fmt_header(&self, f: &mut Formatter) -> Result
[src]
fn fmt_header(&self, f: &mut Formatter) -> Result
Format a header to outgoing stream. Read more
impl PartialEq for Cookie
[src]
impl PartialEq for Cookie
fn eq(&self, other: &Cookie) -> bool
[src]
fn eq(&self, other: &Cookie) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
fn ne(&self, other: &Rhs) -> bool
This method tests for !=
.
impl Debug for Cookie
[src]
impl Debug for Cookie
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Display for Cookie
[src]
impl Display for Cookie