diff options
Diffstat (limited to 'src/server/handler.rs')
| -rw-r--r-- | src/server/handler.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/handler.rs b/src/server/handler.rs index d27d292..ec9b523 100644 --- a/src/server/handler.rs +++ b/src/server/handler.rs @@ -1,5 +1,6 @@ use crate::server::response; use crate::server::ServerConfig; +use crate::mime; use openssl::ssl::SslStream; use std::fs::File; use std::io::{copy, BufReader, BufWriter}; @@ -77,7 +78,11 @@ fn handle_response(config: &ServerConfig, url: Url, mut stream: &mut SslStream<T } }; - let header = response::Header::new(response::Status::Success, "text/gemini"); + let mime_type = match path.extension() { + Some(ext) => mime::get_mime_type(ext), + None => mime::default_mime_type(), + }; + let header = response::Header::new(response::Status::Success, mime_type); send_header(&mut stream, &header); let mut buf_file = BufReader::new(file); |
