]> git.proxmox.com Git - rustc.git/blame - src/doc/book/listings/ch20-web-server/listing-20-03/src/main.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / src / doc / book / listings / ch20-web-server / listing-20-03 / src / main.rs
CommitLineData
923072b8
FG
1use std::{
2 io::{prelude::*, BufReader},
3 net::{TcpListener, TcpStream},
4};
74b04a01
XL
5
6fn main() {
7 let listener = TcpListener::bind("127.0.0.1:7878").unwrap();
8
9 for stream in listener.incoming() {
10 let stream = stream.unwrap();
11
12 handle_connection(stream);
13 }
14}
15
16// ANCHOR: here
17fn handle_connection(mut stream: TcpStream) {
923072b8
FG
18 let buf_reader = BufReader::new(&mut stream);
19 let http_request: Vec<_> = buf_reader
20 .lines()
21 .map(|result| result.unwrap())
22 .take_while(|line| !line.is_empty())
23 .collect();
74b04a01
XL
24
25 let response = "HTTP/1.1 200 OK\r\n\r\n";
26
923072b8 27 stream.write_all(response.as_bytes()).unwrap();
74b04a01
XL
28}
29// ANCHOR_END: here