Skip to content

Commit 9d99053

Browse files
committed
Join solution
1 parent dbf8cb0 commit 9d99053

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

crates/server/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ edition = "2021"
55

66
[dependencies]
77
miniserve = { path = "../miniserve" }
8+
chatbot = { path = "../chatbot" }
89
serde = { version = "1.0.204", features = ["derive"] }
910
serde_json = "1.0.121"
1011
tokio = { workspace = true, features = ["full"] }

crates/server/src/main.rs

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

45
async fn index(_req: Request) -> Response {
56
let content = include_str!("../index.html").to_string();
@@ -18,9 +19,15 @@ async fn chat(req: Request) -> Response {
1819
let Ok(mut messages) = serde_json::from_str::<Messages>(&body) else {
1920
return Err(StatusCode::INTERNAL_SERVER_ERROR);
2021
};
21-
messages
22-
.messages
23-
.push("And how does that make you feel?".into());
22+
23+
let (i, mut responses) = join!(
24+
chatbot::gen_random_number(),
25+
chatbot::query_chat(&messages.messages)
26+
);
27+
28+
let response = responses.remove(i % responses.len());
29+
messages.messages.push(response);
30+
2431
Ok(Content::Json(serde_json::to_string(&messages).unwrap()))
2532
}
2633

0 commit comments

Comments
 (0)