Struct tower_http::classify::GrpcErrorsAsFailures
source · [−]pub struct GrpcErrorsAsFailures { /* private fields */ }Expand description
Response classifier for gRPC responses.
gRPC doesn’t use normal HTTP statuses for indicating success or failure but instead a special header that might appear in a trailer.
Responses are considered successful if
grpc-statusheader value matchesGrpcErrorsAsFailures::success_codes(onlyOkby default).grpc-statusheader is missing.grpc-statusheader value isn’t a validString.grpc-statusheader value can’t parsed into ani32.
All others are considered failures.
Implementations
Create a new GrpcErrorsAsFailures.
Change which gRPC codes are considered success.
Defaults to only considering Ok as success.
Ok will always be considered a success.
Example
Servers might not want to consider Invalid Argument or Not Found as failures since
thats likely the clients fault:
use tower_http::classify::{GrpcErrorsAsFailures, GrpcCode};
let classifier = GrpcErrorsAsFailures::new()
.with_success(GrpcCode::InvalidArgument)
.with_success(GrpcCode::NotFound);Returns a MakeClassifier that produces GrpcErrorsAsFailures.
This is a convenience function that simply calls SharedClassifier::new.
Trait Implementations
type FailureClass = GrpcFailureClass
type FailureClass = GrpcFailureClass
The type returned when a response is classified as a failure. Read more
The type used to classify the response end of stream (EOS).
fn 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
Classify an error. Read more
fn 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
Auto Trait Implementations
impl RefUnwindSafe for GrpcErrorsAsFailures
impl Send for GrpcErrorsAsFailures
impl Sync for GrpcErrorsAsFailures
impl Unpin for GrpcErrorsAsFailures
impl UnwindSafe for GrpcErrorsAsFailures
Blanket Implementations
Mutably borrows from an owned value. Read more
follow-redirect only.Create a new Policy that returns Action::Follow only if self and other return
Action::Follow. Read more
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more