From b4031fdbe08a696a570716a3e3450af626d7549b Mon Sep 17 00:00:00 2001 From: g1n Date: Fri, 9 Jul 2021 09:34:20 +0000 Subject: [PATCH] Tryed to fix --- src/main.rs | 45 +++++++++++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/src/main.rs b/src/main.rs index 51251cd..4dbb70b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -46,32 +46,53 @@ fn handle_connection(mut stream: TcpStream) { /* let hostname = "localhost"; let path = "/"; - let post = "\r\n"; + let _post = "\r\n"; let get = format!( "{} {} {} {}", hostname, path, - post.len(), - post + _post.len(), + _post );*/ - let get = b"127.0.0.1 / 0\r\n"; - let echo = b"127.0.0.1 /echo 0\r\n"; + let _echo = b"$hostname /echo 0\r\n"; // TODO: fix echo behaviour + let request = String::from_utf8_lossy(&buffer[..]); + let parsed_request: Vec<&str> = request.split(' ').collect(); - let (status_line, filename) = if buffer.starts_with(get) { - ("2 text/gemini", "index.gmi") + let host = parsed_request[0]; + let _path = parsed_request[1]; + let _post_len = parsed_request[2]; + + let mut _post = ""; // TODO: fix behaviour for post + /* + if _post_len.len() > 0 { + let _post = parsed_request[3]; } else { - ("4 Not found", "") + let _post = ""; + }*/ + + let get = format!( "{} {} {}\r\n {}\r\n", host, _path, _post_len, _post); + let get_bytes = get.as_bytes(); + + let (status_line, _filename) = if buffer.starts_with(get_bytes) { + ("2 text/gemini\r\n", "index.gmi") + } else { + ("4 Not found\r\n", "") // TDOD: fix Not Found behaviour }; - let filename = "index.gmi"; - let contents = fs::read_to_string(filename).unwrap(); + //let filename = "index.gmi"; + /* + let _contents = ""; + if _filename != "" { + let _contents = fs::read_to_string(_filename).unwrap(); + } else { */ + let _contents = fs::read_to_string("index.gmi").unwrap(); let response = format!( - "{}\r\n{}", + "{}\r\n{}\r\n", status_line, - contents + _contents ); stream.write(response.as_bytes()).unwrap();