blob: 6925ca40ae75591f5a2ddd283b29b42c6f2ef3c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
|
let detailed_logger inner_handler request =
let method_str = Dream.method_to_string (Dream.method_ request) in
let path = Dream.target request in
let user_agent = Dream.header request "User-Agent" |> Option.value ~default:"unknown" in
let client_ip = Dream.client request in
let%lwt () =
Lwt_io.printf "%s %s %s - %s - %s\n" (Ptime_clock.now () |> Ptime.to_rfc3339) method_str path client_ip user_agent
in
let%lwt response = inner_handler request in
let status = Dream.status response |> Dream.status_to_int in
let%lwt () = Lwt_io.printf " -> %d\n" status in
Lwt.return response
|