Trait hyper::header::Header
[-]
[+]
[src]
pub trait Header: Clone + Any + Send + Sync { fn header_name(marker: Option<Self>) -> &'static str; fn parse_header(raw: &[Vec<u8>]) -> Option<Self>; }
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
fn header_name(marker: Option<Self>) -> &'static str
Returns the name of the header field this belongs to.
The market Option
is to hint to the type system which implementation
to call. This can be done away with once UFCS arrives.
fn parse_header(raw: &[Vec<u8>]) -> Option<Self>
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
.
Implementors
impl Header for Accept
impl Header for AcceptEncoding
impl Header for Allow
impl<S: Scheme> Header for Authorization<S>
impl Header for CacheControl
impl Header for Cookies
impl Header for Connection
impl Header for ContentLength
impl Header for ContentType
impl Header for Date
impl Header for Etag
impl Header for Expires
impl Header for Host
impl Header for LastModified
impl Header for IfModifiedSince
impl Header for Location
impl Header for Server
impl Header for SetCookie
impl Header for TransferEncoding
impl Header for Upgrade
impl Header for UserAgent
impl Header for Vary