val log_src : Logs.src
val page : string -> string
val site_error_handler : Opium.Request.t -> Opium.Response.t Lwt.t
val json_error_handler : Opium.Request.t -> Opium.Response.t Lwt.t
val exn_to_string : exn -> Opium.Request.t -> string
val create_error_email : (string * string) -> string -> Sihl__.Contract_email.t
val middleware : ?email_config:(string * string * (Sihl__.Contract_email.t -> unit Lwt.t)) -> ?reporter:(Opium.Request.t -> string -> unit Lwt.t) -> ?error_handler:(Opium.Request.t -> Opium.Response.t Lwt.t) -> unit -> Rock.Middleware.t