diff options
Diffstat (limited to 'bin/server.ml')
-rw-r--r-- | bin/server.ml | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/bin/server.ml b/bin/server.ml index b5cdd84..d640095 100644 --- a/bin/server.ml +++ b/bin/server.ml @@ -10,7 +10,12 @@ let setup_log ?style_renderer level = let request_handler ~db_pool Server.{ request; _ } = match Lib.Router.match_route request.meth request.target with - | Some handler -> Result.get_ok @@ handler db_pool request + | Some handler -> + (match handler db_pool request with + | Ok response -> response + | Error err -> + Logs.err (fun m -> m "Handler error: %a" Caqti_error.pp err); + Response.create `Internal_server_error) | None -> Logs.info (fun d -> d "the fuck %S\n" request.target); Response.create `Not_found @@ -31,9 +36,11 @@ let () = let db_uri = Uri.make ~scheme:"sqlite3" ~path:"/home/y/code/ocaml/bs5/bulkdata/blog.db" () in + let pool_config = Caqti_pool_config.create ~max_size:10 () in (* Create connection pool with initialization function *) let connect_pool ~sw ~stdenv uri = Caqti_eio_unix.connect_pool + ~pool_config ~sw ~stdenv ~post_connect:(fun conn -> |