diff options
| author | mo khan <mo@mokhan.ca> | 2025-05-28 22:08:46 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-05-28 22:08:46 -0600 |
| commit | 6a617ef8de30fb00f0a36a3fffea2c39bc3fa78c (patch) | |
| tree | 6d3253d21d8ebb945dc91258808d2ef81b4182b0 /src/main.rs | |
| parent | cb36e3d9b3fcc256ac3131a4ace25a4c41102409 (diff) | |
feat: start a tcp server
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 23 |
1 files changed, 22 insertions, 1 deletions
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:#?}"); } |
