fire_http/routes/
raw_route.rs1use std::net::SocketAddr;
2
3use crate::util::PinnedFuture;
4use crate::{Resources, Response};
5
6pub use crate::server::{HyperBody, HyperRequest};
7
8use super::{ParamsNames, PathParams, RoutePath};
9
10pub trait RawRoute: Send + Sync {
15 fn validate_requirements(&self, _params: &ParamsNames, _data: &Resources) {}
17
18 fn path(&self) -> RoutePath;
20
21 fn call<'a>(
22 &'a self,
23 req: &'a mut HyperRequest,
24 address: SocketAddr,
25 params: &'a PathParams,
26 resources: &'a Resources,
27 ) -> PinnedFuture<'a, Option<crate::Result<Response>>>;
28}