summaryrefslogtreecommitdiff
path: root/lib/handlers.ml
blob: d50eca876994ccfc57fff42b530f5e871d1a79f1 (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
26
27
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.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_path = Dream.query req "path" |> Option.value ~default:"" in
  Views.Repo_blob.render repo_name blob_path |> Dream_html.respond

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