Skip to main content

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}