Not found response

This commit is contained in:
Julien Blanchard 2019-08-19 14:30:37 +02:00
parent 9d3b405867
commit 64f6265bb6
1 changed files with 18 additions and 7 deletions

View File

@ -95,6 +95,12 @@ fn respond_redirect(mut stream: TlsStream<TcpStream>) {
.unwrap();
}
fn respond_not_found(mut stream: TlsStream<TcpStream>) {
stream
.write_all("51\tNot found\r\n".as_bytes())
.unwrap();
}
fn append_guestbook(message: &str) {
let mut file = OpenOptions::new()
.create(true)
@ -166,16 +172,21 @@ fn route(stream: TlsStream<TcpStream>, request: String) {
match route {
(10, message, _) => respond_input(stream, String::from(message)),
(20, path, query) => {
let mut file = OpenOptions::new()
let open_file = OpenOptions::new()
.read(true)
.open(&path)
.expect("file not found");
.open(&path);
let mut content = String::new();
file.read_to_string(&mut content)
.expect("Unable to read file");
match open_file {
Ok(mut file) => {
let mut content = String::new();
file.read_to_string(&mut content).expect("Can't read content.");
respond_success(stream, content, query)
respond_success(stream, content, query)
}
Err(_) => {
respond_not_found(stream)
}
}
}
(31, _, _) => respond_redirect(stream),
_ => (),