simple_api/middleware.rs
1use crate::{context::Context, types::HttpRequest};
2use crate::types::HttpResonse;
3use anyhow;
4use async_trait::async_trait;
5
6#[async_trait]
7pub trait Middleware: Send + Sync {
8 async fn pre_process(
9 &self,
10 req: &mut HttpRequest,
11 ctx: &mut Context,
12 ) -> anyhow::Result<Option<HttpResonse>>;
13
14 async fn post_process(
15 &self,
16 req: &mut HttpRequest,
17 res: &mut HttpResonse,
18 ctx: &mut Context,
19 ) -> anyhow::Result<Option<HttpResonse>>;
20}