Struct saphir::header::Cookie

source ·
pub struct Cookie(_);
Expand description

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::{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);

Implementations

Creates a new Cookie header.

Sets a name and value for the Cookie.

Note

This will remove all other instances with the same name, and insert the new value.

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

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.

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

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
Returns the name of the header field this belongs to. Read more
Parse a header from a raw stream of bytes. Read more
Format a header to outgoing stream. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.