water_http 4.0.3

fast web http framework that support http 1 and http 2 with very easy use
Documentation

use water_http::server:: ServerConfigurations;
use water_http::{InitControllersRoot, WaterController};

type MainHolderType = u8;
InitControllersRoot!{
    name:MAIN_ROOT,
    holder_type:MainHolderType,
}
 fn main() {
    let  config = ServerConfigurations::bind("127.0.0.1",8084);
    water_http::RunServer!(
        config,
        MAIN_ROOT,
        MainController
    );
}




WaterController! {
    holder -> crate::MainHolderType,
    name -> MainController,
    functions -> {
        GET => / => main(context) async {
            _= context.send_str("hello world").await;
        }
    }
    middleware -> (context {
       let header = context.get_from_headers("X-srf-Token");
        if let Some(header_value) = header {
            if header_value == "test" {
                return server::MiddlewareResult::Pass
            }
        }
          _=context.send_str("you are not authorised").await;
            return server::MiddlewareResult::Stop
    })

}