Struct hyper::header::HeaderName [−][src]
pub struct HeaderName { /* fields omitted */ }Represents an HTTP header field name
Header field names identify the header. Header sets may include multiple headers with the same name. The HTTP specification defines a number of standard headers, but HTTP messages may include non-standard header names as well as long as they adhere to the specification.
HeaderName is used as the HeaderMap key. Constants are available for
all standard header names in the header module.
Representation
HeaderName represents standard header names using an enum, as such they
will not require an allocation for storage. All custom header names are
lower cased upon conversion to a HeaderName value. This avoids the
overhead of dynamically doing lower case conversion during the hash code
computation and the comparison operation.
Methods
impl HeaderName[src]
impl HeaderNamepub fn from_bytes(src: &[u8]) -> Result<HeaderName, InvalidHeaderName>[src]
pub fn from_bytes(src: &[u8]) -> Result<HeaderName, InvalidHeaderName>Converts a slice of bytes to an HTTP header name.
This function normalizes the input.
pub fn from_lowercase(src: &[u8]) -> Result<HeaderName, InvalidHeaderName>[src]
pub fn from_lowercase(src: &[u8]) -> Result<HeaderName, InvalidHeaderName>Converts a slice of bytes to an HTTP header name.
This function expects the input to only contain lowercase characters. This is useful when decoding HTTP/2.0 headers. The HTTP/2.0 specification requires that all headers be represented in lower case.
Examples
// Parsing a lower case header let hdr = HeaderName::from_lowercase(b"content-length").unwrap(); assert_eq!(CONTENT_LENGTH, hdr); // Parsing a header that contains uppercase characters assert!(HeaderName::from_lowercase(b"Content-Length").is_err());
pub fn from_static(src: &'static str) -> HeaderName[src]
pub fn from_static(src: &'static str) -> HeaderNameConverts a static string to a HTTP header name.
This function panics when the static string is a invalid header.
This function requires the static string to only contain lowercase characters, numerals and symbols, as per the HTTP/2.0 specification and header names internal representation within this library.
Examples
// Parsing a standard header let hdr = HeaderName::from_static("content-length"); assert_eq!(CONTENT_LENGTH, hdr); // Parsing a custom header let CUSTOM_HEADER: &'static str = "custom-header"; let a = HeaderName::from_lowercase(b"custom-header").unwrap(); let b = HeaderName::from_static(CUSTOM_HEADER); assert_eq!(a, b);
// Parsing a header that contains invalid symbols(s): HeaderName::from_static("content{}{}length"); // This line panics! // Parsing a header that contains invalid uppercase characters. let a = HeaderName::from_static("foobar"); let b = HeaderName::from_static("FOOBAR"); // This line panics!
pub fn as_str(&self) -> &str[src]
pub fn as_str(&self) -> &strReturns a str representation of the header.
The returned string will always be lower case.
Trait Implementations
impl Clone for HeaderName[src]
impl Clone for HeaderNamefn clone(&self) -> HeaderName[src]
fn clone(&self) -> HeaderNameReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl Debug for HeaderName[src]
impl Debug for HeaderNamefn fmt(&self, fmt: &mut Formatter) -> Result<(), Error>[src]
fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error>Formats the value using the given formatter. Read more
impl FromStr for HeaderName[src]
impl FromStr for HeaderNametype Err = InvalidHeaderName
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<HeaderName, InvalidHeaderName>[src]
fn from_str(s: &str) -> Result<HeaderName, InvalidHeaderName>Parses a string s to return a value of this type. Read more
impl Borrow<str> for HeaderName[src]
impl Borrow<str> for HeaderNameimpl Eq for HeaderName[src]
impl Eq for HeaderNameimpl<'a> HttpTryFrom<&'a [u8]> for HeaderName[src]
impl<'a> HttpTryFrom<&'a [u8]> for HeaderNametype Error = InvalidHeaderName
Associated error with the conversion this implementation represents.
fn try_from(
s: &'a [u8]
) -> Result<HeaderName, <HeaderName as HttpTryFrom<&'a [u8]>>::Error>[src]
fn try_from(
s: &'a [u8]
) -> Result<HeaderName, <HeaderName as HttpTryFrom<&'a [u8]>>::Error>impl<'a> HttpTryFrom<&'a HeaderName> for HeaderName[src]
impl<'a> HttpTryFrom<&'a HeaderName> for HeaderNametype Error = Never
Associated error with the conversion this implementation represents.
fn try_from(
t: &'a HeaderName
) -> Result<HeaderName, <HeaderName as HttpTryFrom<&'a HeaderName>>::Error>[src]
fn try_from(
t: &'a HeaderName
) -> Result<HeaderName, <HeaderName as HttpTryFrom<&'a HeaderName>>::Error>impl HttpTryFrom<HeaderName> for HeaderName[src]
impl HttpTryFrom<HeaderName> for HeaderNametype Error = Error
Associated error with the conversion this implementation represents.
fn try_from(
t: HeaderName
) -> Result<HeaderName, <HeaderName as HttpTryFrom<HeaderName>>::Error>[src]
fn try_from(
t: HeaderName
) -> Result<HeaderName, <HeaderName as HttpTryFrom<HeaderName>>::Error>impl<'a> HttpTryFrom<&'a str> for HeaderName[src]
impl<'a> HttpTryFrom<&'a str> for HeaderNametype Error = InvalidHeaderName
Associated error with the conversion this implementation represents.
fn try_from(
s: &'a str
) -> Result<HeaderName, <HeaderName as HttpTryFrom<&'a str>>::Error>[src]
fn try_from(
s: &'a str
) -> Result<HeaderName, <HeaderName as HttpTryFrom<&'a str>>::Error>impl HttpTryFrom<Bytes> for HeaderName[src]
impl HttpTryFrom<Bytes> for HeaderNametype Error = InvalidHeaderNameBytes
Associated error with the conversion this implementation represents.
fn try_from(
bytes: Bytes
) -> Result<HeaderName, <HeaderName as HttpTryFrom<Bytes>>::Error>[src]
fn try_from(
bytes: Bytes
) -> Result<HeaderName, <HeaderName as HttpTryFrom<Bytes>>::Error>impl HttpTryFrom<HeaderName> for HeaderValue[src]
impl HttpTryFrom<HeaderName> for HeaderValuetype Error = InvalidHeaderValue
Associated error with the conversion this implementation represents.
fn try_from(
name: HeaderName
) -> Result<HeaderValue, <HeaderValue as HttpTryFrom<HeaderName>>::Error>[src]
fn try_from(
name: HeaderName
) -> Result<HeaderValue, <HeaderValue as HttpTryFrom<HeaderName>>::Error>impl Hash for HeaderName[src]
impl Hash for HeaderNamefn hash<__H>(&self, state: &mut __H) where
__H: Hasher, [src]
fn hash<__H>(&self, state: &mut __H) where
__H: Hasher, Feeds this value into the given [Hasher]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, Feeds a slice of this type into the given [Hasher]. Read more
impl IntoHeaderName for HeaderName[src]
impl IntoHeaderName for HeaderNameimpl<'a> IntoHeaderName for &'a HeaderName[src]
impl<'a> IntoHeaderName for &'a HeaderNameimpl AsRef<str> for HeaderName[src]
impl AsRef<str> for HeaderNameimpl AsRef<[u8]> for HeaderName[src]
impl AsRef<[u8]> for HeaderNameimpl<'a> AsHeaderName for &'a HeaderName[src]
impl<'a> AsHeaderName for &'a HeaderNameimpl AsHeaderName for HeaderName[src]
impl AsHeaderName for HeaderNameimpl<'a> From<&'a HeaderName> for HeaderName[src]
impl<'a> From<&'a HeaderName> for HeaderNamefn from(src: &'a HeaderName) -> HeaderName[src]
fn from(src: &'a HeaderName) -> HeaderNamePerforms the conversion.
impl From<HeaderName> for HeaderValue[src]
impl From<HeaderName> for HeaderValuefn from(h: HeaderName) -> HeaderValue[src]
fn from(h: HeaderName) -> HeaderValuePerforms the conversion.
impl From<HeaderName> for Bytes[src]
impl From<HeaderName> for Bytesfn from(name: HeaderName) -> Bytes[src]
fn from(name: HeaderName) -> BytesPerforms the conversion.
impl Display for HeaderName[src]
impl Display for HeaderNamefn fmt(&self, fmt: &mut Formatter) -> Result<(), Error>[src]
fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error>Formats the value using the given formatter. Read more
impl<'a> PartialEq<HeaderName> for &'a HeaderName[src]
impl<'a> PartialEq<HeaderName> for &'a HeaderNamefn eq(&self, other: &HeaderName) -> bool[src]
fn eq(&self, other: &HeaderName) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> boolThis method tests for !=.
impl<'a> PartialEq<HeaderName> for &'a str[src]
impl<'a> PartialEq<HeaderName> for &'a strfn eq(&self, other: &HeaderName) -> bool[src]
fn eq(&self, other: &HeaderName) -> boolPerforms a case-insensitive comparison of the string against the header name
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> boolThis method tests for !=.
impl PartialEq<HeaderName> for str[src]
impl PartialEq<HeaderName> for strfn eq(&self, other: &HeaderName) -> bool[src]
fn eq(&self, other: &HeaderName) -> boolPerforms a case-insensitive comparison of the string against the header name
Examples
use http::header::CONTENT_LENGTH; assert_eq!(CONTENT_LENGTH, "content-length"); assert_eq!(CONTENT_LENGTH, "Content-Length"); assert_ne!(CONTENT_LENGTH, "content length");
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> boolThis method tests for !=.
impl PartialEq<HeaderName> for HeaderName[src]
impl PartialEq<HeaderName> for HeaderNamefn eq(&self, other: &HeaderName) -> bool[src]
fn eq(&self, other: &HeaderName) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &HeaderName) -> bool[src]
fn ne(&self, other: &HeaderName) -> boolThis method tests for !=.
impl PartialEq<str> for HeaderName[src]
impl PartialEq<str> for HeaderNamefn eq(&self, other: &str) -> bool[src]
fn eq(&self, other: &str) -> boolPerforms a case-insensitive comparison of the string against the header name
Examples
use http::header::CONTENT_LENGTH; assert_eq!(CONTENT_LENGTH, "content-length"); assert_eq!(CONTENT_LENGTH, "Content-Length"); assert_ne!(CONTENT_LENGTH, "content length");
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> boolThis method tests for !=.
impl<'a> PartialEq<&'a str> for HeaderName[src]
impl<'a> PartialEq<&'a str> for HeaderNamefn eq(&self, other: &&'a str) -> bool[src]
fn eq(&self, other: &&'a str) -> boolPerforms a case-insensitive comparison of the string against the header name
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> boolThis method tests for !=.
impl<'a> PartialEq<&'a HeaderName> for HeaderName[src]
impl<'a> PartialEq<&'a HeaderName> for HeaderNameAuto Trait Implementations
impl Send for HeaderName
impl Send for HeaderNameimpl Sync for HeaderName
impl Sync for HeaderName