Struct hyper::ext::ReasonPhrase
source · pub struct ReasonPhrase(/* private fields */);
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 for ReasonPhrase
impl PartialEq 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 for ReasonPhrase
impl PartialOrd 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 moresource§impl TryFrom<&[u8]> for ReasonPhrase
impl TryFrom<&[u8]> for ReasonPhrase
source§impl TryFrom<Bytes> for ReasonPhrase
impl TryFrom<Bytes> for ReasonPhrase
source§impl TryFrom<String> for ReasonPhrase
impl TryFrom<String> for ReasonPhrase
impl Eq for ReasonPhrase
impl StructuralPartialEq for ReasonPhrase
Auto Trait Implementations§
impl !Freeze for ReasonPhrase
impl RefUnwindSafe for ReasonPhrase
impl Send for ReasonPhrase
impl Sync for ReasonPhrase
impl Unpin for ReasonPhrase
impl UnwindSafe for ReasonPhrase
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.