pub struct Headers { /* private fields */ }
Expand description
A map of header fields on requests and responses.
Implementations§
source§impl Headers
impl Headers
sourcepub fn set<H>(&mut self, value: H)where
H: Header + HeaderFormat,
pub fn set<H>(&mut self, value: H)where
H: Header + HeaderFormat,
Set a header field to the corresponding value.
The field is determined by the type of the value being set.
sourcepub fn get_raw(&self, name: &str) -> Option<&[Vec<u8>]>
pub fn get_raw(&self, name: &str) -> Option<&[Vec<u8>]>
Access the raw value of a header.
Prefer to use the typed getters instead.
Example:
let raw_content_type = headers.get_raw("content-type");
sourcepub fn set_raw<K>(&mut self, name: K, value: Vec<Vec<u8>>)
pub fn set_raw<K>(&mut self, name: K, value: Vec<Vec<u8>>)
Set the raw value of a header, bypassing any typed headers.
Note: This will completely replace any current value for this header name.
Example:
headers.set_raw("content-length", vec![b"5".to_vec()]);
sourcepub fn append_raw<K>(&mut self, name: K, value: Vec<u8>)
pub fn append_raw<K>(&mut self, name: K, value: Vec<u8>)
Append a value to raw value of this header.
If a header already contains a value, this will add another line to it.
If a header doesnot exist for this name, a new one will be created with the value.
Example:
headers.append_raw("x-foo", b"bar".to_vec());
headers.append_raw("x-foo", b"quux".to_vec());
sourcepub fn remove_raw(&mut self, name: &str)
pub fn remove_raw(&mut self, name: &str)
Remove a header set by set_raw
sourcepub fn get<H>(&self) -> Option<&H>where
H: Header + HeaderFormat,
pub fn get<H>(&self) -> Option<&H>where
H: Header + HeaderFormat,
Get a reference to the header field’s value, if it exists.
sourcepub fn get_mut<H>(&mut self) -> Option<&mut H>where
H: Header + HeaderFormat,
pub fn get_mut<H>(&mut self) -> Option<&mut H>where
H: Header + HeaderFormat,
Get a mutable reference to the header field’s value, if it exists.
sourcepub fn has<H>(&self) -> boolwhere
H: Header + HeaderFormat,
pub fn has<H>(&self) -> boolwhere
H: Header + HeaderFormat,
Returns a boolean of whether a certain header is in the map.
Example:
let has_type = headers.has::<ContentType>();
sourcepub fn remove<H>(&mut self) -> boolwhere
H: Header + HeaderFormat,
pub fn remove<H>(&mut self) -> boolwhere
H: Header + HeaderFormat,
Removes a header from the map, if one existed. Returns true if a header has been removed.
sourcepub fn iter(&self) -> HeadersItems<'_>
pub fn iter(&self) -> HeadersItems<'_>
Returns an iterator over the header fields.
Trait Implementations§
source§impl<'a> Extend<HeaderView<'a>> for Headers
impl<'a> Extend<HeaderView<'a>> for Headers
source§fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = HeaderView<'a>>,
fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = HeaderView<'a>>,
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl<'a> FromIterator<HeaderView<'a>> for Headers
impl<'a> FromIterator<HeaderView<'a>> for Headers
source§fn from_iter<I>(iter: I) -> Headerswhere
I: IntoIterator<Item = HeaderView<'a>>,
fn from_iter<I>(iter: I) -> Headerswhere
I: IntoIterator<Item = HeaderView<'a>>,
Auto Trait Implementations§
impl Freeze for Headers
impl !RefUnwindSafe for Headers
impl Send for Headers
impl !Sync for Headers
impl Unpin for Headers
impl !UnwindSafe for Headers
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)