From 73f68e201fc18d7694671a8fde02ad6f7439719b Mon Sep 17 00:00:00 2001 From: Kaustubh Maske Patil <37668193+nikochiko@users.noreply.github.com> Date: Wed, 7 May 2025 13:31:37 +0530 Subject: [PATCH] add custom middleware - count requests --- bin/nikodream.ml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/bin/nikodream.ml b/bin/nikodream.ml index 4d53856..c7f166a 100644 --- a/bin/nikodream.ml +++ b/bin/nikodream.ml @@ -1,11 +1,23 @@ +let count = ref 0 + +(* middleware *) +let count_requests inner_handler request = + count := !count + 1; + inner_handler request + let () = Dream.run @@ Dream.logger + @@ count_requests @@ Dream.router [ Dream.get "/" (fun _ -> Dream.html "Hello, world!"); + Dream.get "/count" + (fun _ -> + Dream.html (Printf.sprintf "Saw %i requests" !count)); + Dream.get "/echo/:word" (fun request -> Dream.html (Dream.param request "word"));