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