RosettaCodeData/Task/Hello-world-Web-server/Rust/hello-world-web-server.rust

28 lines
874 B
Text
Raw Permalink Normal View History

2016-12-05 22:15:40 +01:00
use std::net::{Shutdown, TcpListener};
use std::thread;
use std::io::Write;
2015-02-20 00:35:01 -05:00
2016-12-05 22:15:40 +01:00
const RESPONSE: &'static [u8] = b"HTTP/1.1 200 OK\r
Content-Type: text/html; charset=UTF-8\r\n\r
<!DOCTYPE html><html><head><title>Bye-bye baby bye-bye</title>
<style>body { background-color: #111 }
h1 { font-size:4cm; text-align: center; color: black;
text-shadow: 0 0 2mm red}</style></head>
<body><h1>Goodbye, world!</h1></body></html>\r";
2015-02-20 00:35:01 -05:00
2016-12-05 22:15:40 +01:00
fn main() {
let listener = TcpListener::bind("127.0.0.1:8080").unwrap();
2015-02-20 00:35:01 -05:00
2016-12-05 22:15:40 +01:00
for stream in listener.incoming() {
thread::spawn(move || {
let mut stream = stream.unwrap();
match stream.write(RESPONSE) {
Ok(_) => println!("Response sent!"),
Err(e) => println!("Failed sending response: {}!", e),
}
stream.shutdown(Shutdown::Write).unwrap();
});
2015-02-20 00:35:01 -05:00
}
}