summaryrefslogtreecommitdiff
path: root/lib/handlers.ml
diff options
context:
space:
mode:
authorMarius Peter <marius.peter@tutanota.com>2025-03-16 19:12:26 +0100
committerMarius Peter <marius.peter@tutanota.com>2025-03-16 19:12:26 +0100
commit4d38a55e52bbb88cacb8c5f5a996c7cdbfcc75bb (patch)
treeed7d34d53e4a820c3a2cc7ce8c525ea9023d4225 /lib/handlers.ml
parent1d1b8113e117be008573a82c5596ac1e25799307 (diff)
Moderate amount of progress today 💯
Diffstat (limited to 'lib/handlers.ml')
-rw-r--r--lib/handlers.ml26
1 files changed, 14 insertions, 12 deletions
diff --git a/lib/handlers.ml b/lib/handlers.ml
index 3211929..d50eca8 100644
--- a/lib/handlers.ml
+++ b/lib/handlers.ml
@@ -1,4 +1,3 @@
-(* Handlers for different routes *)
let ogit_root _req = Views.Ogit_root.render () |> Dream_html.respond
let repo_root req =
@@ -7,19 +6,22 @@ let repo_root req =
let repo_tree req =
let repo_name = Dream.param req "repo_name" in
- let dir_path = Dream.param req "**" in
+ let dir_path = Dream.query req "path" |> Option.value ~default:"" 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
+ let blob_path = Dream.query req "path" |> Option.value ~default:"" in
+ Views.Repo_blob.render repo_name blob_path |> 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");
-]
+let all_handlers =
+ [
+ Dream.get "/" ogit_root;
+ Dream.scope "/:repo_name" []
+ [
+ Dream.get "/" repo_root;
+ Dream.get "/tree" repo_tree;
+ Dream.get "/blob" repo_blob;
+ ];
+ Dream.get "/static/**" (Dream.static "./lib/static");
+ ]
Copyright 2019--2025 Marius PETER