summaryrefslogtreecommitdiff
path: root/lib/handlers.ml
diff options
context:
space:
mode:
authorMarius Peter <marius.peter@tutanota.com>2025-03-15 19:17:14 +0100
committerMarius Peter <marius.peter@tutanota.com>2025-03-15 19:17:14 +0100
commit346d17a1f4c78a05fb1fe010eb1a9e646c8b04a3 (patch)
treef1151c0e5bb1649158735a219e0744e11f3015b3 /lib/handlers.ml
parent55993c4d0857aec8a372aee989aaeef61ea37b3c (diff)
Great work today, again!
Diffstat (limited to 'lib/handlers.ml')
-rw-r--r--lib/handlers.ml28
1 files changed, 25 insertions, 3 deletions
diff --git a/lib/handlers.ml b/lib/handlers.ml
index 46df354..3211929 100644
--- a/lib/handlers.ml
+++ b/lib/handlers.ml
@@ -1,3 +1,25 @@
-let ogit_root _ = Views.Ogit_root.render () |> Dream_html.respond
-let repo_root repo_name = Views.Repo_root.render repo_name |> Dream_html.respond
-let repo_tree repo_name = Views.Repo_tree.render repo_name |> Dream_html.respond
+(* Handlers for different routes *)
+let ogit_root _req = Views.Ogit_root.render () |> Dream_html.respond
+
+let repo_root req =
+ let repo_name = Dream.param req "repo_name" in
+ Views.Repo_root.render repo_name |> Dream_html.respond
+
+let repo_tree req =
+ let repo_name = Dream.param req "repo_name" in
+ let dir_path = Dream.param req "**" in
+ Views.Repo_tree.render repo_name dir_path |> Dream_html.respond
+
+let repo_blob req =
+ let repo_name = Dream.param req "repo_name" in
+ let blob_name = Dream.param req "blob_name" in
+ Views.Repo_blob.render repo_name blob_name |> Dream_html.respond
+
+(* Route definitions *)
+let all_handlers = [
+ Dream.get "/" ogit_root;
+ Dream.get "/:repo_name" repo_root;
+ Dream.get "/:repo_name/tree/**" repo_tree;
+ Dream.get "/:repo_name/blob/:blob_name" repo_blob;
+ Dream.get "/static/**" (Dream.static "./lib/static");
+]
Copyright 2019--2025 Marius PETER