diff --git a/Cargo.toml b/Cargo.toml index f63170bee4..6392b207cd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -66,6 +66,7 @@ tokio = { version = "1", features = [ ] } tokio-test = "0.4" tokio-util = { version = "0.6", features = ["codec"] } +tower = { version = "0.4", features = ["make"] } tower-util = "0.3" url = "2.2" diff --git a/src/server/mod.rs b/src/server/mod.rs index a66cc0fcc2..7647449adf 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -50,6 +50,41 @@ //! # #[cfg(not(feature = "runtime"))] //! # fn main() {} //! ``` +//! +//! If you don't need the connection and your service implements `Clone` you can use +//! [`tower::make::Shared`] instead of `make_service_fn` which is a bit simpler: +//! +//! ```no_run +//! # use std::convert::Infallible; +//! # use std::net::SocketAddr; +//! # use hyper::{Body, Request, Response, Server}; +//! # use hyper::service::{make_service_fn, service_fn}; +//! # use tower::make::Shared; +//! # async fn handle(_req: Request
) -> Result