fire_http/routes/catcher.rs
1use crate::header::{RequestHeader, ResponseHeader};
2use crate::util::PinnedFuture;
3use crate::{Request, Resources, Response};
4
5// Catcher Trait
6pub trait Catcher: Send + Sync {
7 fn check(&self, req: &RequestHeader, res: &ResponseHeader) -> bool;
8
9 // check if every data you expect is in Data
10 fn validate_data(&self, _data: &Resources) {}
11
12 fn call<'a>(
13 &'a self,
14 req: &'a mut Request,
15 resp: &'a mut Response,
16 data: &'a Resources,
17 ) -> PinnedFuture<'a, crate::Result<()>>;
18}