diff options
author | Marius Peter <marius.peter@tutanota.com> | 2025-03-15 19:17:14 +0100 |
---|---|---|
committer | Marius Peter <marius.peter@tutanota.com> | 2025-03-15 19:17:14 +0100 |
commit | 346d17a1f4c78a05fb1fe010eb1a9e646c8b04a3 (patch) | |
tree | f1151c0e5bb1649158735a219e0744e11f3015b3 /lib/handlers.ml | |
parent | 55993c4d0857aec8a372aee989aaeef61ea37b3c (diff) |
Great work today, again!
Diffstat (limited to 'lib/handlers.ml')
-rw-r--r-- | lib/handlers.ml | 28 |
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"); +] |