LCOV - code coverage report
Current view: top level - proxy/src/http - health_server.rs (source / functions) Coverage Total Hit
Test: 36bb8dd7c7efcb53483d1a7d9f7cb33e8406dcf0.info Lines: 0.0 % 17 0
Test Date: 2024-04-08 10:22:05 Functions: 0.0 % 10 0

            Line data    Source code
       1              : use anyhow::{anyhow, bail};
       2              : use hyper::{Body, Request, Response, StatusCode};
       3              : use std::{convert::Infallible, net::TcpListener};
       4              : use tracing::info;
       5              : use utils::http::{
       6              :     endpoint::{self, prometheus_metrics_handler, request_span},
       7              :     error::ApiError,
       8              :     json::json_response,
       9              :     RouterBuilder, RouterService,
      10              : };
      11              : 
      12            0 : async fn status_handler(_: Request<Body>) -> Result<Response<Body>, ApiError> {
      13            0 :     json_response(StatusCode::OK, "")
      14            0 : }
      15              : 
      16            0 : fn make_router() -> RouterBuilder<hyper::Body, ApiError> {
      17            0 :     endpoint::make_router()
      18            0 :         .get("/metrics", |r| request_span(r, prometheus_metrics_handler))
      19            0 :         .get("/v1/status", status_handler)
      20            0 : }
      21              : 
      22            0 : pub async fn task_main(http_listener: TcpListener) -> anyhow::Result<Infallible> {
      23            0 :     scopeguard::defer! {
      24            0 :         info!("http has shut down");
      25              :     }
      26              : 
      27            0 :     let service = || RouterService::new(make_router().build()?);
      28              : 
      29            0 :     hyper::Server::from_tcp(http_listener)?
      30            0 :         .serve(service().map_err(|e| anyhow!(e))?)
      31            0 :         .await?;
      32              : 
      33            0 :     bail!("hyper server without shutdown handling cannot shutdown successfully");
      34            0 : }
        

Generated by: LCOV version 2.1-beta