vif/examples/10-route/main.ml

32 lines
730 B
OCaml
Raw Normal View History

2025-02-18 18:25:30 +00:00
#require "vif" ;;
open Vif ;;
let hello req name server _ =
let str = Fmt.str "Hello, %S!\n" name in
let field = "content-type" in
let* () = Response.add ~field "text/plain; charset=utf-8" in
let* () = Response.with_string req str in
Response.respond `OK
;;
let default req server _cfg =
let str = Fmt.str "Hello World!\n" in
let field = "content-type" in
let* () = Response.add ~field "text/plain; charset=utf-8" in
let* () = Response.with_string req str in
Response.respond `OK
;;
let routes =
let open Vif.U in
let open Vif.R in
2025-02-21 09:33:20 +00:00
let open Vif.T in
2025-02-18 18:25:30 +00:00
[ get (rel / "echo" /% string /?? nil) --> hello
; get (rel /?? nil) --> default ]
;;
let () = Miou_unix.run @@ fun () ->
Vif.run routes ()
;;