use axum::extract::State;
use axum::http::header;
use axum::response::{IntoResponse, Response};
use axum::routing::get;
use axum::Router;
use crate::state::AppState;
pub fn routes() -> Router<AppState> {
Router::new().route("/metrics", get(prometheus_metrics))
}
async fn prometheus_metrics(State(st): State<AppState>) -> Response {
let body = st.metrics.to_prometheus();
(
[(header::CONTENT_TYPE, "text/plain; charset=utf-8")],
body,
)
.into_response()
}