pub trait Predicate<Request> {
type Request;
type Response;
// Required method
fn check(&self, request: Request) -> Result<Self::Request, Self::Response>;
}
Expand description
Checks a request synchronously
§Example
struct CheckService;
impl<ResBody, ReqBody> Predicate<Request<ReqBody>, ResBody> for CheckService
where
ResBody: Default,
{
type Request = Request<ReqBody>;
type Response = Response<ResBody>;
fn check(&mut self, mut request: Request<ReqBody>) -> Result<Self::Request, Self::Response> {
// do something check
Ok(request)
}
}