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")
};
let contents = fs::read_to_string(filename).unwrap();
- let response = format!("{}{}", status_line, contents);
+ let response = format!(
+ "{}\r\nContent-Length: {}\r\n\r\n{}",
+ status_line,
+ contents.len(),
+ contents
+ );
stream.write(response.as_bytes()).unwrap();
stream.flush().unwrap();