Trait HeaderMapExt
pub trait HeaderMapExt: Sealed {
// Required methods
fn typed_insert<H>(&mut self, header: H)
where H: HeaderEncode;
fn typed_get<H>(&self) -> Option<H>
where H: HeaderDecode;
fn typed_try_get<H>(&self) -> Result<Option<H>, Error>
where H: HeaderDecode;
fn remove_all<K>(&mut self, name: K) -> usize
where K: AsHeaderName + Clone;
fn remove_all_values<K>(&mut self, name: K) -> Vec<HeaderValue>
where K: AsHeaderName + Clone;
}http only.Expand description
An extension trait adding “typed” methods to http::HeaderMap.
Required Methods§
fn typed_insert<H>(&mut self, header: H)where
H: HeaderEncode,
fn typed_insert<H>(&mut self, header: H)where
H: HeaderEncode,
Inserts the typed header into this HeaderMap.
fn typed_get<H>(&self) -> Option<H>where
H: HeaderDecode,
fn typed_get<H>(&self) -> Option<H>where
H: HeaderDecode,
Tries to find the header by name, and then decode it into H.
fn typed_try_get<H>(&self) -> Result<Option<H>, Error>where
H: HeaderDecode,
fn typed_try_get<H>(&self) -> Result<Option<H>, Error>where
H: HeaderDecode,
Tries to find the header by name, and then decode it into H.
fn remove_all<K>(&mut self, name: K) -> usizewhere
K: AsHeaderName + Clone,
fn remove_all<K>(&mut self, name: K) -> usizewhere
K: AsHeaderName + Clone,
Remove every value associated with a header name and return how many were removed.
Note: HeaderMap::remove already removes the whole entry (all
values) for a header — it just returns only the first value as
Option<HeaderValue>. This method gives callers an accurate count
without needing to call HeaderMap::get_all manually beforehand.
Use remove_all_values when the values
themselves are needed.
fn remove_all_values<K>(&mut self, name: K) -> Vec<HeaderValue>where
K: AsHeaderName + Clone,
fn remove_all_values<K>(&mut self, name: K) -> Vec<HeaderValue>where
K: AsHeaderName + Clone,
Remove every value associated with a header name and return them in iteration order.
Useful when you need to inspect, log, or relocate the removed
values — HeaderMap::remove only surfaces the first.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".