Add README handling.

Commit
156c3e3246acc287d795d74262123f70dc4e409d
Author
Marius Peter <marius.peter@tutanota.com>
Author date
Committer
Marius Peter <marius.peter@tutanota.com>
Committer date
lib/handlers.ml
index 5f671993..e7a76ce4 100644..100644
@@ -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 ]