Loading projects/single-threaded-web-server/src/main.rs +11 −4 Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ use std::{ fs, io::{BufReader, prelude::*}, net::{TcpListener, TcpStream}, thread, time::Duration, }; use std::process::exit; Loading Loading @@ -36,12 +38,17 @@ fn handle_connection(mut stream: TcpStream) { println!("Received request: {http_request:#?}"); let request_verb_type_version = http_request.get(0).unwrap(); let (status_line, html_file_name) = if request_verb_type_version == "GET / HTTP/1.1" { let (status_line, html_file_name) = match &request_verb_type_version[..] { "GET / HTTP/1.1" => ("HTTP/1.1 200 OK", "hello.html"), "GET /sleep HTTP/1.1" => { thread::sleep(Duration::from_secs(5)); ("HTTP/1.1 200 OK", "hello.html") } else { ("HTTP/1.1 404 NOT FOUND", "404.html") } _ => ("HTTP/1.1 404 NOT FOUND", "404.html"), }; let response_body = fs::read_to_string(html_file_name).unwrap_or_else(|error| { eprintln!("error when reading {}: {}", html_file_name, error); exit(1); Loading Loading
projects/single-threaded-web-server/src/main.rs +11 −4 Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ use std::{ fs, io::{BufReader, prelude::*}, net::{TcpListener, TcpStream}, thread, time::Duration, }; use std::process::exit; Loading Loading @@ -36,12 +38,17 @@ fn handle_connection(mut stream: TcpStream) { println!("Received request: {http_request:#?}"); let request_verb_type_version = http_request.get(0).unwrap(); let (status_line, html_file_name) = if request_verb_type_version == "GET / HTTP/1.1" { let (status_line, html_file_name) = match &request_verb_type_version[..] { "GET / HTTP/1.1" => ("HTTP/1.1 200 OK", "hello.html"), "GET /sleep HTTP/1.1" => { thread::sleep(Duration::from_secs(5)); ("HTTP/1.1 200 OK", "hello.html") } else { ("HTTP/1.1 404 NOT FOUND", "404.html") } _ => ("HTTP/1.1 404 NOT FOUND", "404.html"), }; let response_body = fs::read_to_string(html_file_name).unwrap_or_else(|error| { eprintln!("error when reading {}: {}", html_file_name, error); exit(1); Loading