diff --git a/index.gmi b/index.gmi new file mode 100644 index 0000000..8ab686e --- /dev/null +++ b/index.gmi @@ -0,0 +1 @@ +Hello, World! diff --git a/src/main.rs b/src/main.rs index 7faf8d1..eadca8c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -17,14 +17,41 @@ fn handle_connection(mut stream: TcpStream) { stream.read(&mut buffer).unwrap(); - let contents = fs::read_to_string("index.gmi").unwrap(); - let response = format!( - "2 text/gemini\r\n{}", - contents - ); + let hostname = "localhost"; + let path = "/"; + let post = "\r\n"; + + /* + let get = format!( + "{} {} {} {}", + hostname, + path, + post.len(), + post + );*/ + + let get = b"127.0.0.1 / 0\r\n"; + + if buffer.starts_with(get) { + let contents = fs::read_to_string("index.gmi").unwrap(); + let status = 2; + let meta = "text/gemini"; + let response = format!( + "{} {}\r\n{}", + status, + meta, + contents + ); + + stream.write(response.as_bytes()).unwrap(); + stream.flush().unwrap(); + } else { + let status_line = "4 Not Found"; + + stream.write(status_line.as_bytes()).unwrap(); + stream.flush().unwrap(); + } - stream.write(response.as_bytes()).unwrap(); - stream.flush().unwrap(); }