mirror of
https://github.com/c-cube/tiny_httpd.git
synced 2025-12-06 11:15:35 -05:00
more http handling
This commit is contained in:
parent
9f9017f26a
commit
66ddee3522
2 changed files with 16 additions and 0 deletions
|
|
@ -104,3 +104,12 @@ let http_middleware (reg : Registry.t) : H.Middleware.t =
|
||||||
let code = response.code in
|
let code = response.code in
|
||||||
if code < 200 || code >= 300 then Counter.incr c_err;
|
if code < 200 || code >= 300 then Counter.incr c_err;
|
||||||
resp response)
|
resp response)
|
||||||
|
|
||||||
|
let add_route_to_server (server : H.t) (reg : registry) : unit =
|
||||||
|
H.add_route_handler server H.Route.(exact "metrics" @/ return) @@ fun _req ->
|
||||||
|
let str = Registry.emit_str reg in
|
||||||
|
H.Response.make_string @@ Ok str
|
||||||
|
|
||||||
|
let instrument_server (server : H.t) reg : unit =
|
||||||
|
H.add_middleware ~stage:(`Stage 1) server (http_middleware global);
|
||||||
|
add_route_to_server server reg
|
||||||
|
|
|
||||||
|
|
@ -49,3 +49,10 @@ end
|
||||||
*)
|
*)
|
||||||
|
|
||||||
val http_middleware : Registry.t -> Tiny_httpd.Middleware.t
|
val http_middleware : Registry.t -> Tiny_httpd.Middleware.t
|
||||||
|
(** Middleware to get basic metrics about HTTP requests *)
|
||||||
|
|
||||||
|
val add_route_to_server : Tiny_httpd.t -> Registry.t -> unit
|
||||||
|
(** Add a "/metrics" route to the server *)
|
||||||
|
|
||||||
|
val instrument_server : Tiny_httpd.t -> Registry.t -> unit
|
||||||
|
(** Add middleware and route *)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue