summaryrefslogtreecommitdiff
path: root/bs5/server/server.ml
blob: 2047624178bdf7d24bb233f05850f1786bb27dd7 (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
(* TODO *)
(* Dream.origin_referrer_check *)
let router =
  Dream.router
    ([
       Dream.get "/root" (fun _ -> Dream.html "Roooot");
       Dream.get "/login" (fun _ -> Dream.html "Welcome");
       Dream.get "/blog/:poast" (fun req ->
           Dream.html (Dream.param req "poast"));
       Dream.get "/react" (fun _ -> Dream.html "Welcome");
       Dream.get "/fail" (fun _ -> raise (Failure "Oh noes"));
       Dream.post "/echo" (fun req ->
           let%lwt body = Dream.body req in
           Dream.respond ~headers:[ ("Content-Type", "application/json") ] body);
       Dream.get "/" Pages.Index.handler;
     ]
    @ Api.Json.routes @ Api.Stream.streams)

let server =
  Dream.logger @@ Middleware.Logs.detailed_logger
  @@ Middleware.Promise.count_requests
  @@ Middleware.Counter.count_requests router

let () = Dream.run server