diff options
author | Marius Peter <marius.peter@tutanota.com> | 2025-03-16 19:12:26 +0100 |
---|---|---|
committer | Marius Peter <marius.peter@tutanota.com> | 2025-03-16 19:12:26 +0100 |
commit | 4d38a55e52bbb88cacb8c5f5a996c7cdbfcc75bb (patch) | |
tree | ed7d34d53e4a820c3a2cc7ce8c525ea9023d4225 /lib/handlers.ml | |
parent | 1d1b8113e117be008573a82c5596ac1e25799307 (diff) |
Moderate amount of progress today 💯
Diffstat (limited to 'lib/handlers.ml')
-rw-r--r-- | lib/handlers.ml | 26 |
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"); + ] |