Skip to content

Commit b1c3aab

Browse files
committed
Port server to async
1 parent eda5cdb commit b1c3aab

3 files changed

Lines changed: 97 additions & 3 deletions

File tree

Cargo.lock

Lines changed: 91 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/server/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2021"
77
miniserve = { path = "../miniserve" }
88
serde = { version = "1.0.204", features = ["derive"] }
99
serde_json = "1.0.121"
10+
tokio = { workspace = true, features = ["full"] }

crates/server/src/main.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use miniserve::{http::StatusCode, Content, Request, Response};
22
use serde::{Deserialize, Serialize};
33

4-
fn index(_req: Request) -> Response {
4+
async fn index(_req: Request) -> Response {
55
let content = include_str!("../index.html").to_string();
66
Ok(Content::Html(content))
77
}
@@ -11,7 +11,7 @@ struct Messages {
1111
messages: Vec<String>,
1212
}
1313

14-
fn chat(req: Request) -> Response {
14+
async fn chat(req: Request) -> Response {
1515
let Request::Post(body) = req else {
1616
return Err(StatusCode::METHOD_NOT_ALLOWED);
1717
};
@@ -24,9 +24,11 @@ fn chat(req: Request) -> Response {
2424
Ok(Content::Json(serde_json::to_string(&messages).unwrap()))
2525
}
2626

27-
fn main() {
27+
#[tokio::main]
28+
async fn main() {
2829
miniserve::Server::new()
2930
.route("/", index)
3031
.route("/chat", chat)
3132
.run()
33+
.await
3234
}

0 commit comments

Comments
 (0)