Add /health endpoint

This commit is contained in:
2026-01-14 09:52:30 +01:00
parent 6701009526
commit 238dde3557

View File

@@ -85,6 +85,10 @@ pub async fn get_filename(Path((book_id, file_type)): Path<(u32, String)>) -> im
) )
} }
pub async fn health() -> impl IntoResponse {
(StatusCode::OK, json!({"status": "healthy"}).to_string())
}
async fn auth(req: Request<axum::body::Body>, next: Next) -> Result<Response, StatusCode> { async fn auth(req: Request<axum::body::Body>, next: Next) -> Result<Response, StatusCode> {
let auth_header = req let auth_header = req
.headers() .headers()
@@ -116,12 +120,18 @@ pub async fn get_router() -> Router {
.layer(middleware::from_fn(auth)) .layer(middleware::from_fn(auth))
.layer(prometheus_layer); .layer(prometheus_layer);
let health_router = Router::new().route("/health", get(health));
let metric_router = let metric_router =
Router::new().route("/metrics", get(|| async move { metric_handle.render() })); Router::new().route("/metrics", get(|| async move { metric_handle.render() }));
Router::new().merge(app_router).merge(metric_router).layer( Router::new()
TraceLayer::new_for_http() .merge(app_router)
.make_span_with(trace::DefaultMakeSpan::new().level(Level::INFO)) .merge(health_router)
.on_response(trace::DefaultOnResponse::new().level(Level::INFO)), .merge(metric_router)
) .layer(
TraceLayer::new_for_http()
.make_span_with(trace::DefaultMakeSpan::new().level(Level::INFO))
.on_response(trace::DefaultOnResponse::new().level(Level::INFO)),
)
} }