#![allow(unused)]
pub mod framework_http;
pub mod structure;
pub mod configurations;
mod builders;
pub use builders::*;
#[allow(non_snake_case)]
#[macro_export]
macro_rules! DataHolderInitializer {
($broker:ty) => {
type ___ContextDataHolder = $broker;
#[allow(non_snake_case)]
static mut ___CONTROLLERS:Option<Vec<water_http::structure::HttpContextRController<___ContextDataHolder>>> = None;
};
}
#[allow(non_snake_case)]
#[macro_export]
macro_rules! RunServer{
(
$configuration:expr,
[
$($controllers:expr),*
]
) => {
unsafe {
___CONTROLLERS = Some(
vec![
$($controllers),*
]
);
water_http::framework_http::server_runner::start_server::<___ContextDataHolder>
(
HTTPFrameworkConfigs::default(),
|| {
___CONTROLLERS.as_mut().unwrap()
}
).await;
}
};
(
$configuration:expr,
$controllers:expr
) =>{
water_http::RunServer!($configuration,[$controllers]);
};
}