diff options
Diffstat (limited to 'lib/handlers.ml')
-rw-r--r-- | lib/handlers.ml | 77 |
1 files changed, 39 insertions, 38 deletions
diff --git a/lib/handlers.ml b/lib/handlers.ml index ff4c4a5..871931c 100644 --- a/lib/handlers.ml +++ b/lib/handlers.ml @@ -3,62 +3,63 @@ let root _req = Views.root () module Repo = struct - open Git_presenters - let ( let* ) m f = let open Lwt.Infix in m >>= function | Ok x -> f x | Error e -> - let msg = Format.asprintf "%a" Store.pp_error e in - Views.error_page msg |> Dream_html.respond - - let repo req = Dream.param req "repo" - let id_of_req req = Dream.param req "id" + let msg = Format.asprintf "%a" Resolvers.Store.pp_error e in + Views.error_page msg let summary req = - let* branches = all_branches (repo req) in - let* commits = recent_commits (repo req) 10 in + let repo = Dream.param req "repo" in + let* branches = Resolvers.all_branches repo in + let* commits = Resolvers.recent_commits repo 10 in let authors = [ "John Pork"; "Sebastian Jellybean" ] in - Views.Repo.summary (repo req) branches commits authors + Views.Repo.summary repo branches commits authors let log req = - let* commits = recent_commits (repo req) 100 in - Views.Repo.log (repo req) commits + let repo = Dream.param req "repo" in + let* commits = Resolvers.recent_commits repo 100 in + Views.Repo.log repo commits let files_at_head req = - let* tree = head_tree (repo req) in - Views.Repo.files (repo req) tree + let repo = Dream.param req "repo" in + let* tree = Resolvers.head_tree repo in + Views.Repo.files repo tree let file_id req = - let id = id_of_req req in - let* blob = blob_of_id (repo req) id in - Views.Repo.file (repo req) blob + let repo = Dream.param req "repo" in + let id = Dream.param req "repo" in + let* blob = Resolvers.blob_of_id repo id in + Views.Repo.file repo blob let refs req = - let* branches = all_branches (repo req) in - Views.Repo.refs (repo req) branches + let repo = Dream.param req "repo" in + let* branches = Resolvers.all_branches repo in + Views.Repo.refs repo branches let commit req = - let id = id_of_req req in - let* commit = commit_of_id (repo req) id in - Views.Repo.commit (repo req) commit + let repo = Dream.param req "repo" in + let id = Dream.param req "id" in + let* commit = Resolvers.commit_of_id repo id in + Views.Repo.commit repo commit end let all_handlers = - Dream. - [ - get "/" root; - scope "/:repo" [] - Repo. - [ - get "/" summary; - get "/summary/" summary; - get "/log/" log; - get "/files/" files_at_head; - get "/files/:id" file_id; - get "/refs/" refs; - get "/commit/:id" commit; - ]; - get "/static/**" (static "./lib/static"); - ] + let open Dream in + [ + get "/" root; + scope "/:repo" [] + Repo. + [ + get "/" summary; + get "/summary/" summary; + get "/log/" log; + get "/files/" files_at_head; + get "/files/:id" file_id; + get "/refs/" refs; + get "/commit/:id" commit; + ]; + get "/static/**" (static "./lib/static"); + ] |