]>
git.proxmox.com Git - rustc.git/blob - src/doc/book/listings/ch20-web-server/listing-20-05/src/main.rs
4 io
::{prelude::*, BufReader}
,
5 net
::{TcpListener, TcpStream}
,
11 let listener
= TcpListener
::bind("127.0.0.1:7878").unwrap();
13 for stream
in listener
.incoming() {
14 let stream
= stream
.unwrap();
16 handle_connection(stream
);
21 fn handle_connection(mut stream
: TcpStream
) {
22 let buf_reader
= BufReader
::new(&mut stream
);
23 let http_request
: Vec
<_
> = buf_reader
25 .map(|result
| result
.unwrap())
26 .take_while(|line
| !line
.is_empty())
29 let status_line
= "HTTP/1.1 200 OK";
30 let contents
= fs
::read_to_string("hello.html").unwrap();
31 let length
= contents
.len();
34 format
!("{status_line}\r\nContent-Length: {length}\r\n\r\n{contents}");
36 stream
.write_all(response
.as_bytes()).unwrap();