Struct hyper::ext::ReasonPhrase
source · [−]pub struct ReasonPhrase(_);
Expand description
A reason phrase in an HTTP/1 response.
Clients
For clients, a ReasonPhrase
will be present in the extensions of the http::Response
returned
for a request if the reason phrase is different from the canonical reason phrase for the
response’s status code. For example, if a server returns HTTP/1.1 200 Awesome
, the
ReasonPhrase
will be present and contain Awesome
, but if a server returns HTTP/1.1 200 OK
,
the response will not contain a ReasonPhrase
.
use hyper::{Client, Uri};
use hyper::ext::ReasonPhrase;
let res = Client::new().get(Uri::from_static("http://example.com/non_canonical_reason")).await?;
// Print out the non-canonical reason phrase, if it has one...
if let Some(reason) = res.extensions().get::<ReasonPhrase>() {
println!("non-canonical reason: {}", std::str::from_utf8(reason.as_bytes()).unwrap());
}
Servers
When a ReasonPhrase
is present in the extensions of the http::Response
written by a server,
its contents will be written in place of the canonical reason phrase when responding via HTTP/1.
Implementations
sourceimpl ReasonPhrase
impl ReasonPhrase
sourcepub fn from_static(reason: &'static [u8]) -> Self
pub fn from_static(reason: &'static [u8]) -> Self
Converts a static byte slice to a reason phrase.
sourcepub unsafe fn from_bytes_unchecked(reason: Bytes) -> Self
pub unsafe fn from_bytes_unchecked(reason: Bytes) -> Self
Converts a Bytes
directly into a ReasonPhrase
without validating.
Use with care; invalid bytes in a reason phrase can cause serious security problems if emitted in a response.
Trait Implementations
sourceimpl AsRef<[u8]> for ReasonPhrase
impl AsRef<[u8]> for ReasonPhrase
sourceimpl Clone for ReasonPhrase
impl Clone for ReasonPhrase
sourcefn clone(&self) -> ReasonPhrase
fn clone(&self) -> ReasonPhrase
1.0.0const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for ReasonPhrase
impl Debug for ReasonPhrase
sourceimpl Hash for ReasonPhrase
impl Hash for ReasonPhrase
sourcefn hash<__H: Hasher>(&self, state: &mut __H)
fn hash<__H: Hasher>(&self, state: &mut __H)
Hasher
]. Read more1.3.0fn hash_slice<H>(data: &[Self], state: &mut H)where
H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H)where
H: Hasher,
Hasher
]. Read moresourceimpl Into<Bytes> for ReasonPhrase
impl Into<Bytes> for ReasonPhrase
sourceimpl Ord for ReasonPhrase
impl Ord for ReasonPhrase
sourceimpl PartialEq<ReasonPhrase> for ReasonPhrase
impl PartialEq<ReasonPhrase> for ReasonPhrase
sourcefn eq(&self, other: &ReasonPhrase) -> bool
fn eq(&self, other: &ReasonPhrase) -> bool
sourceimpl PartialOrd<ReasonPhrase> for ReasonPhrase
impl PartialOrd<ReasonPhrase> for ReasonPhrase
sourcefn partial_cmp(&self, other: &ReasonPhrase) -> Option<Ordering>
fn partial_cmp(&self, other: &ReasonPhrase) -> Option<Ordering>
1.0.0const fn lt(&self, other: &Rhs) -> bool
const fn lt(&self, other: &Rhs) -> bool
1.0.0const fn le(&self, other: &Rhs) -> bool
const fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more1.0.0const fn gt(&self, other: &Rhs) -> bool
const fn gt(&self, other: &Rhs) -> bool
sourceimpl TryFrom<&[u8]> for ReasonPhrase
impl TryFrom<&[u8]> for ReasonPhrase
sourceimpl TryFrom<Bytes> for ReasonPhrase
impl TryFrom<Bytes> for ReasonPhrase
sourceimpl TryFrom<String> for ReasonPhrase
impl TryFrom<String> for ReasonPhrase
sourceimpl TryFrom<Vec<u8, Global>> for ReasonPhrase
impl TryFrom<Vec<u8, Global>> for ReasonPhrase
impl Eq for ReasonPhrase
impl StructuralEq for ReasonPhrase
impl StructuralPartialEq for ReasonPhrase
Auto Trait Implementations
impl RefUnwindSafe for ReasonPhrase
impl Send for ReasonPhrase
impl Sync for ReasonPhrase
impl Unpin for ReasonPhrase
impl UnwindSafe for ReasonPhrase
Blanket Implementations
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstablefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.