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
|
||||
if code < 200 || code >= 300 then Counter.incr c_err;
|
||||
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
|
||||
(** 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