26 lines
949 B
OCaml
26 lines
949 B
OCaml
|
|
(* TODO
|
||
|
|
GNU Taler db-events
|
||
|
|
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
|