mte/src/database.ml

30 lines
995 B
OCaml
Raw Normal View History

2025-11-11 03:12:12 +01:00
(* TODO
2025-11-20 23:32:25 +01:00
- pg.ml
- preflight
- GNU Taler db-events?
2025-11-11 03:12:12 +01:00
https://git.gnunet.org/gana.git/tree/gnu-taler-db-events/registry.rec *)
let test req server _ =
let pool = Vif.Server.device Devices.caqti server in
let query =
let open Caqti_request.Infix in
Caqti_type.(unit ->! int) "SELECT 53 - 11"
in
let fn (module Conn : Caqti_miou.CONNECTION) = Conn.find query () in
match Caqti_miou_unix.Pool.use fn pool with
| Ok n ->
let open Vif.Response.Syntax in
let* () =
Vif.Response.add ~field:"content-type" "text/plain; charset= utf-8"
in
let* () = Vif.Response.with_string req (Fmt.str "53 - 11 = %d@." n) in
Vif.Response.respond `OK
| Error err ->
(* TODO don't leak private data in error messages *)
let open Vif.Response.Syntax in
let str = Fmt.str "Database error: %a." Caqti_error.pp err in
let* () = Vif.Response.with_string req str in
Vif.Response.respond `Internal_server_error
let init = test