From 6a617ef8de30fb00f0a36a3fffea2c39bc3fa78c Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 28 May 2025 22:08:46 -0600 Subject: feat: start a tcp server --- src/main.rs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/main.rs') 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:#?}"); } -- cgit v1.2.3