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}