pub trait Header:
Clone
+ Any
+ Send
+ Sync {
// Required methods
fn header_name() -> &'static str;
fn parse_header(raw: &[Vec<u8>]) -> Result<Self, Error>;
}
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 header_name() -> &'static str
fn header_name() -> &'static str
Returns the name of the header field this belongs to.
This will become an associated constant once available.
Sourcefn parse_header(raw: &[Vec<u8>]) -> Result<Self, Error>
fn parse_header(raw: &[Vec<u8>]) -> Result<Self, Error>
Parse a header from a raw stream of bytes.
It’s possible that a request can include a header field more than once,
and in that case, the slice will have a length greater than 1. However,
it’s not necessarily the case that a Header is allowed to have more
than one field value. If that’s the case, you should return None
if raw.len() > 1
.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.