diff --git a/src/main.rs b/src/main.rs index e7a11a9..e227dbf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,27 @@ +use std::{ + io::{BufRead, BufReader, Write}, + net::TcpListener, +}; + fn main() { - println!("Hello, world!"); + let listener = TcpListener::bind("127.0.0.1:8080").unwrap(); + + for stream in listener.incoming() { + let mut stream = stream.unwrap(); + let mut reader = BufReader::new(&mut stream); + + loop { + let mut line = String::new(); + reader.read_line(&mut line).unwrap(); + print!("{line}"); + + if line.trim().is_empty() { + break; + } + } + + stream + .write_all(b"HTTP/1.1 200 OK\r\n\r\nHello, World!") + .unwrap(); + } }