From 7aa71fe6d8c285472b78ef7d56987769799753b8 Mon Sep 17 00:00:00 2001 From: A1lo Date: Tue, 9 Nov 2021 14:47:00 +0800 Subject: [PATCH] fix: response with correct HTTP/1.x Message format The correct `HTTP/1.x Message`'s headers are followed after the `start-line` which describing the requests to be implemented. After the `headers` is a `blank line` indicating all `meta-information` for the request has been sent. Then the `optional body` is followed. Increase HTTP buffer size to 1024(keep the same with the buffer size in `ch20-01-single-threaded.md`). --- src/ch20-02-multithreaded.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ch20-02-multithreaded.md b/src/ch20-02-multithreaded.md index c2e312b..6391bf5 100644 --- a/src/ch20-02-multithreaded.md +++ b/src/ch20-02-multithreaded.md @@ -21,7 +21,7 @@ use std::time::Duration; // --snip-- fn handle_connection(mut stream: TcpStream) { -# let mut buffer = [0; 512]; +# let mut buffer = [0; 1024]; # stream.read(&mut buffer).unwrap(); // --snip-- @@ -29,12 +29,12 @@ fn handle_connection(mut stream: TcpStream) { let sleep = b"GET /sleep HTTP/1.1\r\n"; let (status_line, filename) = if buffer.starts_with(get) { - ("HTTP/1.1 200 OK\r\n\r\n", "hello.html") + ("HTTP/1.1 200 OK", "hello.html") } else if buffer.starts_with(sleep) { thread::sleep(Duration::from_secs(5)); - ("HTTP/1.1 200 OK\r\n\r\n", "hello.html") + ("HTTP/1.1 200 OK", "hello.html") } else { - ("HTTP/1.1 404 NOT FOUND\r\n\r\n", "404.html") + ("HTTP/1.1 404 NOT FOUND", "404.html") }; // --snip--