vif/examples/02-counter/main.ml

23 lines
456 B
OCaml
Raw Normal View History

2025-02-01 15:54:10 +00:00
#require "vif" ;;
#require "fmt" ;;
let counter = Atomic.make 0 ;;
2025-02-13 16:17:00 +00:00
open Vif ;;
2025-02-18 18:25:30 +00:00
let default req _server () =
2025-02-01 15:54:10 +00:00
let v = Atomic.fetch_and_add counter 1 in
2025-02-13 16:17:00 +00:00
let str = Fmt.str "%d request(s)\n" (succ v) in
let* () = Response.with_string req str in
Response.respond `OK
2025-02-01 15:54:10 +00:00
;;
2025-02-18 18:25:30 +00:00
let routes =
let open Vif.U in
let open Vif.R in
let open Vif.Content_type in
[ get (rel /?? nil) --> default ]
let () = Miou_unix.run @@ fun () ->
Vif.run routes () ;;