This commit is contained in:
Mateusz Gruszczyński committed 2026-10-19 15:40:37 +02:00
1 parent 34fb534e02
commit b2b5b45d8a
22 files changed
+2146 -107

No files matched your search

+12 -2
View File
@@ -298,6 +298,12 @@ async fn audit(State(state): State<Arc<App>>) -> Result<Json<Value>, ApiError> {
async fn metrics(State(state): State<Arc<App>>) -> Response {
crate::prometheus::response(&state)
}
async fn metrics_json(State(state): State<Arc<App>>) -> Response {
crate::prometheus::json_response(&state)
}
async fn metrics_summary(State(state): State<Arc<App>>) -> Response {
crate::prometheus::summary_response(&state)
}
#[derive(Default, Deserialize)]
#[serde(default, deny_unknown_fields)]
struct EventsQuery {
@@ -311,7 +317,10 @@ async fn events(
) -> Result<Response, ApiError> {
let interval = query.interval.unwrap_or(3);
if ![1, 2, 3, 5, 10].contains(&interval) {
return Err(ApiError(StatusCode::UNPROCESSABLE_ENTITY, "invalid SSE interval".into()));
return Err(ApiError(
StatusCode::UNPROCESSABLE_ENTITY,
"invalid SSE interval".into(),
));
}
let secret = auth::cookie_secret(&headers)
.ok_or_else(|| ApiError(StatusCode::UNAUTHORIZED, "auth.required".into()))?;
@@ -349,7 +358,8 @@ async fn events(
_ => return None,
}
let payload =
json!({"status":live_status_payload(&state), "logs":logs_payload(&state)}).to_string();
json!({"status":live_status_payload(&state), "logs":logs_payload(&state)})
.to_string();
let event = Event::default().event("snapshot").data(payload);
Some((
Ok::<Event, Infallible>(event),