stage 3 attempt 2
This commit is contained in:
parent
37dd2cfd5a
commit
f28811942b
16
src/main.rs
16
src/main.rs
@ -1,4 +1,4 @@
|
||||
use std::{ fmt::Display, io::{Read, Write}, net::TcpListener };
|
||||
use std::{ fmt::Display, io::{BufRead, BufReader, Read, Write}, net::TcpListener };
|
||||
use anyhow::Result;
|
||||
use thiserror::Error;
|
||||
|
||||
@ -14,14 +14,16 @@ fn main() -> Result<()> {
|
||||
for stream in listener.incoming() {
|
||||
match stream {
|
||||
Ok(mut stream) => {
|
||||
let mut buf = String::new();
|
||||
let _read = stream.read_to_string(&mut buf);
|
||||
let buf_reader = BufReader::new(&mut stream);
|
||||
|
||||
let mut data = buf.split("\r\n");
|
||||
let mut data = buf_reader
|
||||
.lines()
|
||||
.map(|result| result.unwrap())
|
||||
.take_while(|line| !line.is_empty());
|
||||
|
||||
let _start @ (_method, path, _ver) = {
|
||||
let (_method, path, _ver) = {
|
||||
let start_line = data.next().ok_or(E::InvalidRequest)?; // should be 500;
|
||||
let mut parts = start_line.split_whitespace();
|
||||
let mut parts = start_line.split_whitespace().map(ToOwned::to_owned);
|
||||
let method = parts.next().ok_or(E::InvalidRequest)?;
|
||||
let path = parts.next().ok_or(E::InvalidRequest)?;
|
||||
let ver = parts.next().ok_or(E::InvalidRequest)?;
|
||||
@ -29,7 +31,7 @@ fn main() -> Result<()> {
|
||||
(method, path, ver)
|
||||
};
|
||||
|
||||
let code = match path {
|
||||
let code = match path.as_str() {
|
||||
"/" => "200 OK",
|
||||
_ => "404 Not Found",
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user