Trait tower::filter::AsyncPredicate

source ·
pub trait AsyncPredicate<Request> {
    type Future: Future<Output = Result<Self::Request, BoxError>>;
    type Request;

    // Required method
    fn check(&mut self, request: Request) -> Self::Future;
Expand description

Checks a request asynchronously.

Required Associated Types§


type Future: Future<Output = Result<Self::Request, BoxError>>

The future returned by check.


type Request

The type of requests returned by check.

This request is forwarded to the inner service if the predicate succeeds.

Required Methods§


fn check(&mut self, request: Request) -> Self::Future

Check whether the given request should be forwarded.

If the future resolves with Ok, the request is forwarded to the inner service.



impl<F, T, U, R, E> AsyncPredicate<T> for F
where F: FnMut(T) -> U, U: Future<Output = Result<R, E>>, E: Into<BoxError>,


type Future = ErrInto<U, Box<dyn Error + Sync + Send>>


type Request = R