Struct tower_http::classify::StatusInRangeAsFailures
source · [−]pub struct StatusInRangeAsFailures { /* private fields */ }
Expand description
Response classifier that considers responses with a status code within some range to be failures.
Example
A client with tracing where server errors and client errors are considered failures.
use tower_http::{trace::TraceLayer, classify::StatusInRangeAsFailures};
use tower::{ServiceBuilder, Service, ServiceExt};
use hyper::{Client, Body};
use http::{Request, Method};
let classifier = StatusInRangeAsFailures::new(400..=599);
let mut client = ServiceBuilder::new()
.layer(TraceLayer::new(classifier.into_make_classifier()))
.service(Client::new());
let request = Request::builder()
.method(Method::GET)
.uri("https://example.com")
.body(Body::empty())
.unwrap();
let response = client.ready().await?.call(request).await?;
Implementations
sourceimpl StatusInRangeAsFailures
impl StatusInRangeAsFailures
sourcepub fn new(range: RangeInclusive<u16>) -> Self
pub fn new(range: RangeInclusive<u16>) -> Self
Createa a new StatusInRangeAsFailures
.
Panics
Panics if the start or end of range
aren’t valid status codes as determined by
StatusCode::from_u16
.
sourcepub fn new_for_client_and_server_errors() -> Self
pub fn new_for_client_and_server_errors() -> Self
Createa a new StatusInRangeAsFailures
that classifies client and server responses as
failures.
This is a convenience for StatusInRangeAsFailures::new(400..=599)
.
sourcepub fn into_make_classifier(self) -> SharedClassifier<Self>
pub fn into_make_classifier(self) -> SharedClassifier<Self>
Convert this StatusInRangeAsFailures
into a MakeClassifier
.
Trait Implementations
sourceimpl ClassifyResponse for StatusInRangeAsFailures
impl ClassifyResponse for StatusInRangeAsFailures
type FailureClass = StatusInRangeFailureClass
type FailureClass = StatusInRangeFailureClass
The type returned when a response is classified as a failure. Read more
type ClassifyEos = NeverClassifyEos<Self::FailureClass>
type ClassifyEos = NeverClassifyEos<Self::FailureClass>
The type used to classify the response end of stream (EOS).
sourcefn classify_response<B>(
self,
res: &Response<B>
) -> ClassifiedResponse<Self::FailureClass, Self::ClassifyEos>
fn classify_response<B>(
self,
res: &Response<B>
) -> ClassifiedResponse<Self::FailureClass, Self::ClassifyEos>
Attempt to classify the beginning of a response. Read more
sourcefn classify_error<E>(self, error: &E) -> Self::FailureClass where
E: Display + 'static,
fn classify_error<E>(self, error: &E) -> Self::FailureClass where
E: Display + 'static,
Classify an error. Read more
sourcefn map_failure_class<F, NewClass>(self, f: F) -> MapFailureClass<Self, F> where
Self: Sized,
F: FnOnce(Self::FailureClass) -> NewClass,
fn map_failure_class<F, NewClass>(self, f: F) -> MapFailureClass<Self, F> where
Self: Sized,
F: FnOnce(Self::FailureClass) -> NewClass,
Transform the failure classification using a function. Read more
sourceimpl Clone for StatusInRangeAsFailures
impl Clone for StatusInRangeAsFailures
sourcefn clone(&self) -> StatusInRangeAsFailures
fn clone(&self) -> StatusInRangeAsFailures
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl RefUnwindSafe for StatusInRangeAsFailures
impl Send for StatusInRangeAsFailures
impl Sync for StatusInRangeAsFailures
impl Unpin for StatusInRangeAsFailures
impl UnwindSafe for StatusInRangeAsFailures
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> PolicyExt for T where
T: ?Sized,
impl<T> PolicyExt for T where
T: ?Sized,
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more