nikodream/bin/nikodream.ml
Kaustubh Maske Patil 2e4779cc96 add lwt
2025-05-08 11:26:25 +05:30

34 lines
693 B
OCaml

open Lwt.Syntax
let successful = ref 0
let failed = ref 0
(* middleware *)
let count_requests inner_handler request =
try%lwt
let* response = inner_handler request in
successful := !successful + 1;
Lwt.return response
with exn ->
failed := !failed + 1;
raise exn
let () =
Dream.run
@@ Dream.logger
@@ count_requests
@@ Dream.router [
Dream.get "/"
(fun _ ->
Dream.html "Hello, world!");
Dream.get "/count"
(fun _ ->
Dream.html (Printf.sprintf "%3i successful requests<br>%3i failed requests" !successful !failed));
Dream.get "/echo/:word"
(fun request ->
Dream.html (Dream.param request "word"));
]