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 "%s -%s -> %d\n" method_str path status in Lwt.return response