rama_http/layer/validate_request/validate.rs
1use crate::{Request, Response};
2
3/// Trait for validating requests.
4pub trait ValidateRequest<B>: Send + Sync + 'static {
5 /// The body type used for responses to unvalidated requests.
6 type ResponseBody;
7
8 /// Validate the request.
9 ///
10 /// If `Ok(())` is returned then the request is allowed through, otherwise not.
11 fn validate(
12 &self,
13 request: Request<B>,
14 ) -> impl Future<Output = Result<Request<B>, Response<Self::ResponseBody>>> + Send + '_;
15}