diff options
| author | Jan Wolff <janw@mailbox.org> | 2020-05-15 10:57:15 +0200 |
|---|---|---|
| committer | Jan Wolff <janw@mailbox.org> | 2020-05-15 10:57:15 +0200 |
| commit | d5d223389698b361ed362721ee4f3a7ab8a110cb (patch) | |
| tree | df440ed62cbc007022ae702e747721356624040b /src/main.rs | |
| parent | d9e51706768dcb11ef32f4a2d5fd9161e1e92fed (diff) | |
move to a modular design
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs index 8181b92..ab50c02 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,8 +1,9 @@ -use openssl::ssl::{SslMethod, SslAcceptor, SslStream, SslFiletype}; use std::net::{TcpListener, TcpStream, SocketAddr}; use std::sync::Arc; use std::thread; -mod response; +use openssl::ssl::{SslMethod, SslAcceptor, SslStream, SslFiletype}; +use url::Url; +mod server; fn build_acceptor() -> std::sync::Arc<SslAcceptor> { let mut acceptor = SslAcceptor::mozilla_intermediate_v5(SslMethod::tls()).unwrap(); @@ -12,15 +13,18 @@ fn build_acceptor() -> std::sync::Arc<SslAcceptor> { return Arc::new(acceptor.build()); } +fn build_server() { +} + fn handle_client(mut stream: SslStream<TcpStream>) { let mut buffer = [0; 1026]; stream.ssl_read(&mut buffer); let request = String::from_utf8(buffer.to_vec()).unwrap(); + let url = Url::parse(&request).unwrap(); - let header = response::Header::new(response::Status::Success, "text/gemini".to_string()); - let response = response::Response::new(header, [].to_vec()); + let data = server::handle(&url); - stream.ssl_write(&response.format()); + stream.ssl_write(&data); } fn main() { |
