diff --git a/wrk/rust/hello/src/main.rs b/wrk/rust/hello/src/main.rs index d6138d9..ee75336 100644 --- a/wrk/rust/hello/src/main.rs +++ b/wrk/rust/hello/src/main.rs @@ -20,22 +20,16 @@ fn main() { fn handle_connection(mut stream: TcpStream) { stream.set_nodelay(true).expect("set_nodelay call failed"); - let mut buffer = [0; 1024]; - let nbytes = stream.read(&mut buffer).unwrap(); - if nbytes == 0 { - return; + loop{ + let mut buffer = [0; 1024]; + match stream.read(&mut buffer){ + Err(_)=>return, + Ok(0)=>return, + Ok(_v)=>{}, + } + + let response_bytes = b"HTTP/1.1 200 OK\r\nContent-Length: 16\r\nConnection: keep-alive\r\n\r\nHELLO from RUST!"; + + stream.write_all(response_bytes).unwrap(); } - - let status_line = "HTTP/1.1 200 OK"; - - let contents = "HELLO from RUST!"; - - let response = format!( - "{}\r\nContent-Length: {}\r\n\r\n{}", - status_line, - contents.len(), - contents - ); - - stream.write_all(response.as_bytes()).unwrap(); }