diff options
| -rw-r--r-- | Cargo.lock | 7 | ||||
| -rw-r--r-- | src/main.rs | 23 |
2 files changed, 29 insertions, 1 deletions
diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..ba61b5b --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "sts" +version = "0.1.0" diff --git a/src/main.rs b/src/main.rs index e7a11a9..c42cc8e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,24 @@ +use std::io::BufReader; +use std::io::prelude::*; +use std::net::TcpListener; +use std::net::TcpStream; + fn main() { - println!("Hello, world!"); + let listener = TcpListener::bind("127.0.0.1:7878").unwrap(); + + for stream in listener.incoming() { + let stream = stream.unwrap(); + handle_connection(stream); + } +} + +fn handle_connection(stream: TcpStream) { + let buf_reader = BufReader::new(&stream); + let http_request: Vec<_> = buf_reader + .lines() + .map(|result| result.unwrap()) + .take_while(|line| !line.is_empty()) + .collect(); + + println!("Request: {http_request:#?}"); } |
