Skip to content

Commit 669de08

Browse files
committed
Make the http_server example return a proper 404.
1 parent 032528f commit 669de08

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

examples/http_server.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use wstd::http::body::{BodyForthcoming, IncomingBody, OutgoingBody};
22
use wstd::http::server::{Finished, Responder};
3-
use wstd::http::{IntoBody, Request, Response};
3+
use wstd::http::{IntoBody, Request, Response, StatusCode};
44
use wstd::io::{copy, empty, AsyncWrite};
55
use wstd::time::{Duration, Instant};
66

@@ -13,7 +13,8 @@ async fn main(request: Request<IncomingBody>, responder: Responder) -> Finished
1313
"/echo-trailers" => http_echo_trailers(request, responder).await,
1414
"/fail" => http_fail(request, responder).await,
1515
"/bigfail" => http_bigfail(request, responder).await,
16-
"/" | _ => http_home(request, responder).await,
16+
"/" => http_home(request, responder).await,
17+
_ => http_not_found(request, responder).await,
1718
}
1819
}
1920

@@ -83,3 +84,11 @@ async fn http_echo_trailers(request: Request<IncomingBody>, responder: Responder
8384
};
8485
Finished::finish(body, result, trailers)
8586
}
87+
88+
async fn http_not_found(_request: Request<IncomingBody>, responder: Responder) -> Finished {
89+
let response = Response::builder()
90+
.status(StatusCode::NOT_FOUND)
91+
.body(empty())
92+
.unwrap();
93+
responder.respond(response).await
94+
}

0 commit comments

Comments
 (0)