mirror of
https://github.com/flibusta-apps/telegram_files_cache_server.git
synced 2026-03-02 22:55:19 +01:00
Add health endpoint and clone Extension
Provide a minimal /health handler that returns HTTP 200 OK. Clone the shared Extension when attaching layers so ext can be reused by other routers.
This commit is contained in:
@@ -134,6 +134,10 @@ async fn update_cache(Extension(Ext { db, .. }): Extension<Ext>) -> impl IntoRes
|
|||||||
StatusCode::OK.into_response()
|
StatusCode::OK.into_response()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn health_check() -> impl IntoResponse {
|
||||||
|
StatusCode::OK.into_response()
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
||||||
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> {
|
||||||
@@ -176,15 +180,18 @@ pub async fn get_router() -> Router {
|
|||||||
.route("/{object_id}/{object_type}/", delete(delete_cached_file))
|
.route("/{object_id}/{object_type}/", delete(delete_cached_file))
|
||||||
.route("/update_cache", post(update_cache))
|
.route("/update_cache", post(update_cache))
|
||||||
.layer(middleware::from_fn(auth))
|
.layer(middleware::from_fn(auth))
|
||||||
.layer(Extension(ext))
|
.layer(Extension(ext.clone()))
|
||||||
.layer(prometheus_layer);
|
.layer(prometheus_layer);
|
||||||
|
|
||||||
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() }));
|
||||||
|
|
||||||
|
let health_router = Router::new().route("/health", get(health_check));
|
||||||
|
|
||||||
Router::new()
|
Router::new()
|
||||||
.nest("/api/v1/", app_router)
|
.nest("/api/v1/", app_router)
|
||||||
.merge(metric_router)
|
.merge(metric_router)
|
||||||
|
.merge(health_router)
|
||||||
.layer(
|
.layer(
|
||||||
TraceLayer::new_for_http()
|
TraceLayer::new_for_http()
|
||||||
.make_span_with(trace::DefaultMakeSpan::new().level(Level::INFO))
|
.make_span_with(trace::DefaultMakeSpan::new().level(Level::INFO))
|
||||||
|
|||||||
Reference in New Issue
Block a user