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§
source§impl 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§
source§impl AsRef<[u8]> for ReasonPhrase
impl AsRef<[u8]> for ReasonPhrase
source§impl Clone for ReasonPhrase
impl Clone for ReasonPhrase
source§fn clone(&self) -> ReasonPhrase
fn clone(&self) -> ReasonPhrase
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ReasonPhrase
impl Debug for ReasonPhrase
source§impl Hash for ReasonPhrase
impl Hash for ReasonPhrase
source§impl Into<Bytes> for ReasonPhrase
impl Into<Bytes> for ReasonPhrase
source§impl Ord for ReasonPhrase
impl Ord for ReasonPhrase
source§fn cmp(&self, other: &ReasonPhrase) -> Ordering
fn cmp(&self, other: &ReasonPhrase) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq<ReasonPhrase> for ReasonPhrase
impl PartialEq<ReasonPhrase> for ReasonPhrase
source§fn eq(&self, other: &ReasonPhrase) -> bool
fn eq(&self, other: &ReasonPhrase) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<ReasonPhrase> for ReasonPhrase
impl PartialOrd<ReasonPhrase> for ReasonPhrase
source§fn partial_cmp(&self, other: &ReasonPhrase) -> Option<Ordering>
fn partial_cmp(&self, other: &ReasonPhrase) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more