From 346d17a1f4c78a05fb1fe010eb1a9e646c8b04a3 Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Sat, 15 Mar 2025 19:17:14 +0100 Subject: Great work today, again! --- lib/handlers.ml | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'lib/handlers.ml') 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"); +] -- cgit v1.2.3