bolt_web/
types.rs

1use crate::{request::RequestBody, response::ResponseWriter};
2use async_trait::async_trait;
3
4#[derive(Hash, Eq, PartialEq, Debug, Clone, Copy)]
5pub enum Method {
6    GET,
7    POST,
8    PUT,
9    PATCH,
10    DELETE,
11    OPTIONS,
12    HEAD,
13    TRACE,
14}
15
16#[derive(Eq, PartialEq)]
17pub enum Mode {
18    Http1,
19    Http2,
20}
21
22pub type Handler = fn(&mut RequestBody, &mut ResponseWriter);
23
24#[async_trait]
25pub trait Middleware: Send + Sync {
26    async fn run(&self, req: &mut RequestBody, res: &mut ResponseWriter);
27}
28
29#[async_trait]
30pub trait ErrorHandler: Send + Sync {
31    async fn run(&self, msg: String, res: &mut ResponseWriter);
32}