diff --git a/src/header/name.rs b/src/header/name.rs index b5605ef..0c0fe22 100644 --- a/src/header/name.rs +++ b/src/header/name.rs @@ -1,3 +1,4 @@ +use HttpTryFrom; use byte_str::ByteStr; use bytes::{Bytes, BytesMut}; @@ -7,7 +8,6 @@ use std::hash::{Hash, Hasher}; use std::str::FromStr; use std::error::Error; -use ::convert::HttpTryFrom; /// Represents an HTTP header field name /// /// Header field names identify the header. Header sets may include multiple @@ -1540,6 +1540,22 @@ impl From for Bytes { } } +impl<'a> HttpTryFrom<&'a str> for HeaderName { + type Error = InvalidHeaderName; + #[inline] + fn try_from(s: &'a str) -> Result { + Self::from_bytes(s.as_bytes()) + } +} + +impl<'a> HttpTryFrom<&'a [u8]> for HeaderName { + type Error = InvalidHeaderName; + #[inline] + fn try_from(s: &'a [u8]) -> Result { + Self::from_bytes(s) + } +} + impl HttpTryFrom for HeaderName { type Error = InvalidHeaderName; #[inline] @@ -1548,7 +1564,6 @@ impl HttpTryFrom for HeaderName { } } - #[doc(hidden)] impl From for HeaderName { fn from(src: StandardHeader) -> HeaderName { diff --git a/src/header/value.rs b/src/header/value.rs index b5ed9b7..451a464 100644 --- a/src/header/value.rs +++ b/src/header/value.rs @@ -315,7 +315,7 @@ impl HttpTryFrom for HeaderValue { #[inline] fn try_from(bytes: Bytes) -> Result { - HeaderValue::try_from(bytes) + ::try_from(bytes) } }