tower_http::classify

Trait ClassifyEos

source
pub trait ClassifyEos {
    type FailureClass;

    // Required methods
    fn classify_eos(
        self,
        trailers: Option<&HeaderMap>,
    ) -> Result<(), Self::FailureClass>;
    fn classify_error<E>(self, error: &E) -> Self::FailureClass
       where E: Display + 'static;

    // Provided method
    fn map_failure_class<F, NewClass>(self, f: F) -> MapFailureClass<Self, F>
       where Self: Sized,
             F: FnOnce(Self::FailureClass) -> NewClass { ... }
}
Expand description

Trait for classifying end of streams (EOS) as either success or failure.

Required Associated Types§

source

type FailureClass

The type of failure classifications.

Required Methods§

source

fn classify_eos( self, trailers: Option<&HeaderMap>, ) -> Result<(), Self::FailureClass>

Perform the classification from response trailers.

source

fn classify_error<E>(self, error: &E) -> Self::FailureClass
where E: Display + 'static,

Classify an error.

Errors are always errors (doh) but sometimes it might be useful to have multiple classes of errors. A retry policy might allow retrying some errors and not others.

Provided Methods§

source

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.

See ClassifyResponse::map_failure_class for more details.

Object Safety§

This trait is not object safe.

Implementors§