1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
#![recursion_limit = "256"] extern crate proc_macro; mod extenders; mod extractors; mod new_middleware; mod state; #[proc_macro_derive(PathExtractor)] pub fn base_path_extractor(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let ast = syn::parse(input).unwrap(); extractors::base_path(&ast) } #[proc_macro_derive(QueryStringExtractor)] pub fn base_query_string_extractor(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let ast = syn::parse(input).unwrap(); extractors::base_query_string(&ast) } #[proc_macro_derive(StaticResponseExtender)] pub fn static_response_extender(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let ast = syn::parse(input).unwrap(); extenders::bad_request_static_response_extender(&ast) } #[proc_macro_derive(StateData)] pub fn state_data(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let ast = syn::parse(input).unwrap(); state::state_data(&ast) } #[proc_macro_derive(NewMiddleware)] pub fn new_middleware(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let ast = syn::parse(input).unwrap(); new_middleware::new_middleware(&ast) }