summaryrefslogtreecommitdiff
path: root/lib/handlers.ml
blob: 3211929dc76bf22f3c3d79b609a1ef4154eb40b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(* 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