[OCaml] Mobile-friendly clone of cgit.
Add README handling.
lib/handlers.ml
@@ -12,15 +12,21 @@
12
12
13
13
let summary req =
14
14
let repo = Dream.param req "repo" in
15
Removed:
let* branches = Resolvers.Branch.all repo in
15
Added:
let* branches = Resolvers.Reference.all repo in
16
16
let* commits = Resolvers.Commit.recent repo 10 in
17
17
Views.Repo.summary repo branches commits
18
18
19
Removed:
let log req =
19
Added:
let commits req =
20
20
let repo = Dream.param req "repo" in
21
21
let* commits = Resolvers.Commit.recent repo 100 in
22
Removed:
Views.Repo.log repo commits
22
Added:
Views.Repo.commits repo commits
23
23
24
Added:
let commit req =
25
Added:
let repo = Dream.param req "repo" in
26
Added:
let id = Dream.param req "id" in
27
Added:
let* commit = Resolvers.Commit.of_id repo id in
28
Added:
Views.Repo.commit repo commit
29
Added:
24
30
let files_at_head req =
25
31
let repo = Dream.param req "repo" in
26
32
let* tree = Resolvers.Tree.head repo in
@@ -34,16 +40,24 @@
34
40
| `Tree tree -> Views.Repo.files repo tree
35
41
| `Blob blob -> Views.Repo.file repo blob
36
42
37
Removed:
let refs req =
43
Added:
let branches req =
38
44
let repo = Dream.param req "repo" in
39
Removed:
let* branches = Resolvers.Branch.all repo in
40
Removed:
Views.Repo.refs repo branches
45
Added:
let* branches = Resolvers.Reference.branches repo in
46
Added:
Views.Repo.branches repo branches
41
47
42
Removed:
let commit req =
48
Added:
let tags req =
43
49
let repo = Dream.param req "repo" in
44
Removed:
let id = Dream.param req "id" in
45
Removed:
let* commit = Resolvers.Commit.of_id repo id in
46
Removed:
Views.Repo.commit repo commit
50
Added:
let* tags = Resolvers.Reference.tags repo in
51
Added:
Views.Repo.tags repo tags
52
Added:
53
Added:
let readme req =
54
Added:
let repo = Dream.param req "repo" in
55
Added:
let* readme = Resolvers.Repo.readme repo in
56
Added:
match readme with
57
Added:
| None ->
58
Added:
let content = "README does not exist for " ^ repo in
59
Added:
Views.Repo.file repo { content }
60
Added:
| Some file -> Views.Repo.file repo file
47
61
end
48
62
49
63
let all_handlers =
@@ -55,11 +69,13 @@
55
69
[
56
70
get "/" summary;
57
71
get "/summary/" summary;
58
Removed:
get "/log/" log;
72
Added:
get "/commits/" commits;
73
Added:
get "/commit/:id" commit;
59
74
get "/files/" files_at_head;
60
75
get "/file/:id" file_id;
61
Removed:
get "/refs/" refs;
62
Removed:
get "/commit/:id" commit;
76
Added:
get "/branches/" branches;
77
Added:
get "/tags/" tags;
78
Added:
get "/README" readme;
63
79
];
64
80
get "/static/**" (static "./lib/static");
65
81
]