Trait headers_core::Header
source · pub trait Header {
// Required methods
fn name() -> &'static HeaderName;
fn decode<'i, I>(values: &mut I) -> Result<Self, Error>
where Self: Sized,
I: Iterator<Item = &'i HeaderValue>;
fn encode<E: Extend<HeaderValue>>(&self, values: &mut E);
}
Expand description
A trait for any object that will represent a header field and value.
This trait represents the construction and identification of headers, and contains trait-object unsafe methods.
Required Methods§
sourcefn name() -> &'static HeaderName
fn name() -> &'static HeaderName
The name of this header.
sourcefn decode<'i, I>(values: &mut I) -> Result<Self, Error>
fn decode<'i, I>(values: &mut I) -> Result<Self, Error>
Decode this type from an iterator of HeaderValue
s.
sourcefn encode<E: Extend<HeaderValue>>(&self, values: &mut E)
fn encode<E: Extend<HeaderValue>>(&self, values: &mut E)
Encode this type to a HeaderMap
.
This function should be infallible. Any errors converting to a
HeaderValue
should have been caught when parsing or constructing
this value.
Object Safety§
This trait is not object safe.