Skip to content

Commit b3e337d

Browse files
weihangloseanmonstar
authored andcommitted
docs(service): make_service_fn doc test to async/await
1 parent e6a7e33 commit b3e337d

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

src/service/make_service.rs

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -118,30 +118,37 @@ where
118118
/// # Example
119119
///
120120
/// ```rust,no_run
121-
/// # #[cfg(feature = "runtime")] fn main() {
121+
/// # #![feature(async_await)]
122+
/// # #[cfg(feature = "runtime")]
123+
/// # #[hyper::rt::main]
124+
/// # async fn main() {
122125
/// use std::net::TcpStream;
123-
/// use hyper::{Body, Request, Response, Server};
126+
/// use hyper::{Body, Error, Request, Response, Server};
124127
/// use hyper::rt::{self, Future};
125128
/// use hyper::server::conn::AddrStream;
126-
/// use hyper::service::{make_service_fn, service_fn_ok};
129+
/// use hyper::service::{make_service_fn, service_fn};
127130
///
128131
/// let addr = ([127, 0, 0, 1], 3000).into();
129132
///
130133
/// let make_svc = make_service_fn(|socket: &AddrStream| {
131134
/// let remote_addr = socket.remote_addr();
132-
/// service_fn_ok(move |_: Request<Body>| {
133-
/// Response::new(Body::from(format!("Hello, {}", remote_addr)))
134-
/// })
135+
/// async move {
136+
/// Ok::<_, Error>(service_fn(move |_: Request<Body>| async move {
137+
/// Ok::<_, Error>(
138+
/// Response::new(Body::from(format!("Hello, {}!", remote_addr)))
139+
/// )
140+
/// }))
141+
/// }
135142
/// });
136143
///
137144
/// // Then bind and serve...
138145
/// let server = Server::bind(&addr)
139146
/// .serve(make_svc);
140147
///
141148
/// // Finally, spawn `server` onto an Executor...
142-
/// rt::run(server.map_err(|e| {
149+
/// if let Err(e) = server.await {
143150
/// eprintln!("server error: {}", e);
144-
/// }));
151+
/// }
145152
/// # }
146153
/// # #[cfg(not(feature = "runtime"))] fn main() {}
147154
/// ```

0 commit comments

Comments
 (0)