]> piware.de Git - learn-rust.git/commitdiff
async-http: Add logging
authorMartin Pitt <martin@piware.de>
Fri, 16 Sep 2022 06:12:14 +0000 (08:12 +0200)
committerMartin Pitt <martin@piware.de>
Fri, 16 Sep 2022 06:12:14 +0000 (08:12 +0200)
async-http/Cargo.toml
async-http/src/main.rs

index 9c26aaa6d02f158c31058837adefc122579b0ef0..dfca1b524f15388282d7e7806d33afe9bb8fe3d4 100644 (file)
@@ -6,3 +6,5 @@ edition = "2021"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
+log = "0.4"
+env_logger = "0.9"
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();
 }