]> piware.de Git - learn-rust.git/blobdiff - async-http/src/main.rs
async-http: Add logging
[learn-rust.git] / async-http / src / main.rs
index 09ca609eaa0d6333fc08cd86cfb08b3ca936dae2..d9e3a26bfaf8c22af808f51a61e1f50b09534a17 100644 (file)
@@ -4,6 +4,8 @@ use std::net::TcpListener;
 use std::net::TcpStream;
 
 fn main() {
+    env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")).init();
+
     // Listen for incoming TCP connections on localhost port 7878
     let listener = TcpListener::bind("127.0.0.1:7878").unwrap();
 
@@ -25,15 +27,16 @@ fn handle_connection(mut stream: TcpStream) {
     // Respond with greetings or a 404,
     // depending on the data in the request
     let (status_line, filename) = if buffer.starts_with(get) {
-        ("HTTP/1.1 200 OK\r\n\r\n", "index.html")
+        ("HTTP/1.1 200 OK", "index.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();
+    log::info!("GET {} {}", filename, status_line);
 
     // Write response back to the stream,
     // and flush the stream to ensure the response is sent back to the client
-    let response = format!("{status_line}{contents}");
+    let response = format!("{status_line}\r\n\r\n{contents}");
     stream.write_all(response.as_bytes()).unwrap();
     stream.flush().unwrap();
 }