commit b302923c86258b89a04ed14548c4c2840ffb4591 Author: Daniel Heras Quesada Date: Tue Nov 19 22:48:58 2024 +0100 feat: first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..e3e2167 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "rust-http-server" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..cb0fd0a --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "rust-http-server" +version = "0.1.0" +edition = "2021" + +[dependencies] diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..294c380 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,28 @@ +use std::io::prelude::*; +use std::net::{SocketAddr, TcpListener, TcpStream}; + +fn handle_petition(mut stream: TcpStream) -> std::io::Result<()> { + let mut buffer = [0; 1024]; + + let amount = stream.read(&mut buffer)?; + + println!( + "Request: {} of {amount} bytes", + String::from_utf8_lossy(&buffer[..]) + ); + Ok(()) +} + +fn main() { + let addr = SocketAddr::from(([127, 0, 0, 1], 80)); + + let listener = TcpListener::bind(addr).unwrap(); + + println!("Server up and running!"); + + for stream in listener.incoming() { + let _stream = stream.unwrap(); + println!("Connection established!"); + let _result = handle_petition(_stream); + } +}