1 //! Utilities for writing middleware 2 //! 3 #![doc = include_str!("../docs/middleware.md")] 4 5 mod from_extractor; 6 mod from_fn; 7 mod map_request; 8 mod map_response; 9 10 pub use self::from_extractor::{ 11 from_extractor, from_extractor_with_state, FromExtractor, FromExtractorLayer, 12 }; 13 pub use self::from_fn::{from_fn, from_fn_with_state, FromFn, FromFnLayer, Next}; 14 pub use self::map_request::{ 15 map_request, map_request_with_state, IntoMapRequestResult, MapRequest, MapRequestLayer, 16 }; 17 pub use self::map_response::{ 18 map_response, map_response_with_state, MapResponse, MapResponseLayer, 19 }; 20 pub use crate::extension::AddExtension; 21 22 pub mod future { 23 //! Future types. 24 25 pub use super::from_extractor::ResponseFuture as FromExtractorResponseFuture; 26 pub use super::from_fn::ResponseFuture as FromFnResponseFuture; 27 pub use super::map_request::ResponseFuture as MapRequestResponseFuture; 28 pub use super::map_response::ResponseFuture as MapResponseResponseFuture; 29 } 30