summaryrefslogtreecommitdiff
path: root/src/server/handler.rs
diff options
context:
space:
mode:
authorJan Wolff <janw@mailbox.org>2020-05-15 10:57:15 +0200
committerJan Wolff <janw@mailbox.org>2020-05-15 10:57:15 +0200
commitd5d223389698b361ed362721ee4f3a7ab8a110cb (patch)
treedf440ed62cbc007022ae702e747721356624040b /src/server/handler.rs
parentd9e51706768dcb11ef32f4a2d5fd9161e1e92fed (diff)
move to a modular design
Diffstat (limited to 'src/server/handler.rs')
-rw-r--r--src/server/handler.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/server/handler.rs b/src/server/handler.rs
new file mode 100644
index 0000000..ec4193d
--- /dev/null
+++ b/src/server/handler.rs
@@ -0,0 +1,16 @@
+use url::Url;
+use crate::server::response::{Status, Header, Response};
+
+pub trait Handler {
+ fn handle(&self, url : Url) -> Option<Response>;
+}
+
+pub struct TestHandler {
+}
+
+impl Handler for TestHandler {
+ fn handle(&self, url : Url) -> Option<Response> {
+ let header = Header::new(Status::Success, "text/gemini");
+ return Some(Response::new(header, Vec::new()));
+ }
+}