1use hyper::body::Bytes;
2use strategy_pattern_rs::strategy_pattern_type;
3pub use tokio;
4use hyper;
5pub use inventory;
6
7mod util;
8mod services;
9pub mod server;
10pub mod io;
11pub mod endpoint;
12pub mod body;
13mod parser;
14
15pub use awpak_rs_macros::*;
16
17pub use services::error::Error;
18pub use services::middleware::middleware::MiddlewareResponse;
19pub use services::middleware::middleware::MiddlewareResponseType;
20pub use services::middleware::middleware::initialize_middlewares;
21pub use services::middleware::middleware::Middleware;
22pub use services::middleware::middleware::MiddlewareExecOrder;
23
24pub use parser::parser::parse_value;
25pub use parser::parser::parse_from_value;
26pub use parser::parser::parse_body_param_value;
27pub use parser::parser::serialize_value;
28pub use parser::parser::parse_path_variable;
29pub use parser::parser::parse_query_param_value;
30pub use parser::from_value::from_value;
31pub use parser::from_async_str::from_async_str;
32pub use serde_json::Value;
33
34#[strategy_pattern_type( search = "IgnoreCase" )]
35pub struct ContentTypeStrategy(fn( Bytes ) -> Result<serde_json::Value, Error>);
36
37#[strategy_pattern_type( search = "IgnoreCase" )]
38pub struct ResponseContentTypeStrategy(fn( serde_json::Value ) -> Result<Bytes, Error>);
39
40
41