Trait rama::http::layer::classify::MakeClassifier
pub trait MakeClassifier: Send + Sync + 'static {
type Classifier: ClassifyResponse<FailureClass = Self::FailureClass, ClassifyEos = Self::ClassifyEos>;
type FailureClass: Send + Sync + 'static;
type ClassifyEos: ClassifyEos<FailureClass = Self::FailureClass> + Send + Sync + 'static;
// Required method
fn make_classifier<B>(&self, req: &Request<B>) -> Self::Classifier;
}
Expand description
Trait for producing response classifiers from a request.
This is useful when a classifier depends on data from the request. For example, this could include the URI or HTTP method.
This trait is generic over the Error
type of the Service
s used with the classifier.
This is necessary for ClassifyResponse::classify_error
.
Required Associated Types§
type Classifier: ClassifyResponse<FailureClass = Self::FailureClass, ClassifyEos = Self::ClassifyEos>
type Classifier: ClassifyResponse<FailureClass = Self::FailureClass, ClassifyEos = Self::ClassifyEos>
The response classifier produced.
type FailureClass: Send + Sync + 'static
type FailureClass: Send + Sync + 'static
The type of failure classifications.
This might include additional information about the error, such as whether it was a client or server error, or whether or not it should be considered retryable.
type ClassifyEos: ClassifyEos<FailureClass = Self::FailureClass> + Send + Sync + 'static
type ClassifyEos: ClassifyEos<FailureClass = Self::FailureClass> + Send + Sync + 'static
The type used to classify the response end of stream (EOS).
Required Methods§
fn make_classifier<B>(&self, req: &Request<B>) -> Self::Classifier
fn make_classifier<B>(&self, req: &Request<B>) -> Self::Classifier
Returns a response classifier for this request
Object Safety§
This trait is not object safe.