[][src]Struct http_types::headers::Headers

pub struct Headers { /* fields omitted */ }

A collection of HTTP Headers.

Headers are never manually constructed, but are part of Request, Response, and Trailers. Each of these types implements AsRef<Headers> and AsMut<Headers> so functions that want to modify headers can be generic over either of these traits.

Examples

use http_types::{Response, StatusCode};

let mut res = Response::new(StatusCode::Ok);
res.insert_header("hello", "foo0");
assert_eq!(res["hello"], "foo0");

Implementations

impl Headers[src]

pub fn insert(
    &mut self,
    name: impl Into<HeaderName>,
    values: impl ToHeaderValues
) -> Option<HeaderValues>
[src]

Insert a header into the headers.

Not that this will replace all header values for a given header name. If you wish to add header values for a header name that already exists use Headers::append

pub fn append(
    &mut self,
    name: impl Into<HeaderName>,
    values: impl ToHeaderValues
)
[src]

Append a header to the headers.

Unlike insert this function will not override the contents of a header, but insert a header if there aren't any. Or else append to the existing list of headers.

pub fn get(&self, name: impl Into<HeaderName>) -> Option<&HeaderValues>[src]

Get a reference to a header.

pub fn get_mut(
    &mut self,
    name: impl Into<HeaderName>
) -> Option<&mut HeaderValues>
[src]

Get a mutable reference to a header.

pub fn remove(&mut self, name: impl Into<HeaderName>) -> Option<HeaderValues>[src]

Remove a header.

pub fn iter(&self) -> Iter[src]

An iterator visiting all header pairs in arbitrary order.

pub fn iter_mut(&mut self) -> IterMut[src]

An iterator visiting all header pairs in arbitrary order, with mutable references to the values.

pub fn names(&self) -> Names[src]

An iterator visiting all header names in arbitrary order.

pub fn values(&self) -> Values[src]

An iterator visiting all header values in arbitrary order.

Trait Implementations

impl AsMut<Headers> for Headers[src]

impl AsMut<Headers> for Request[src]

impl AsMut<Headers> for Response[src]

impl AsRef<Headers> for Headers[src]

impl AsRef<Headers> for Request[src]

impl AsRef<Headers> for Response[src]

impl Clone for Headers[src]

impl Debug for Headers[src]

impl<'_> Index<&'_ str> for Headers[src]

type Output = HeaderValues

The returned type after indexing.

fn index(&self, name: &str) -> &HeaderValues[src]

Returns a reference to the value corresponding to the supplied name.

Panics

Panics if the name is not present in Headers.

impl Index<HeaderName> for Headers[src]

type Output = HeaderValues

The returned type after indexing.

fn index(&self, name: HeaderName) -> &HeaderValues[src]

Returns a reference to the value corresponding to the supplied name.

Panics

Panics if the name is not present in Headers.

impl IntoIterator for Headers[src]

type Item = (HeaderName, HeaderValues)

The type of the elements being iterated over.

type IntoIter = IntoIter

Which kind of iterator are we turning this into?

fn into_iter(self) -> Self::IntoIter[src]

Returns a iterator of references over the remaining items.

impl<'a> IntoIterator for &'a Headers[src]

type Item = (&'a HeaderName, &'a HeaderValues)

The type of the elements being iterated over.

type IntoIter = Iter<'a>

Which kind of iterator are we turning this into?

impl<'a> IntoIterator for &'a mut Headers[src]

type Item = (&'a HeaderName, &'a mut HeaderValues)

The type of the elements being iterated over.

type IntoIter = IterMut<'a>

Which kind of iterator are we turning this into?

Auto Trait Implementations

impl RefUnwindSafe for Headers

impl Send for Headers

impl Sync for Headers

impl Unpin for Headers

impl UnwindSafe for Headers

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,