diff options
| author | Jan Wolff <janw@mailbox.org> | 2020-05-16 12:47:42 +0200 |
|---|---|---|
| committer | Jan Wolff <janw@mailbox.org> | 2020-05-16 12:48:44 +0200 |
| commit | 177d12b5b89f97039a5849d131b3524eecb3bf57 (patch) | |
| tree | 00022d708cc06fe4fe3a5070b1c0d557de7a2ea7 /src/server/handler.rs | |
| parent | 769affa1b651f3591b5d9c482b6fd5b142c7f3d6 (diff) | |
some error codes in handler
Diffstat (limited to 'src/server/handler.rs')
| -rw-r--r-- | src/server/handler.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/server/handler.rs b/src/server/handler.rs index fb07a4d..ceb6551 100644 --- a/src/server/handler.rs +++ b/src/server/handler.rs @@ -1,7 +1,17 @@ -use url::Url; use crate::server::response; use crate::server::ServerConfig; +use std::path::Path; +use url::Url; pub fn handle(config: &ServerConfig, url: Url) -> Option<response::Response> { - Some(response::invalid_protocol()) + if url.scheme() != "gemini" { + return Some(response::invalid_protocol()); + } + + let path = Path::new(url.path()); + if !path.has_root() { + return Some(response::not_understood()); + } + + None } |
