diff options
| author | tv <tv@krebsco.de> | 2026-10-31 05:29:49 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-31 05:29:49 +0100 |
| commit | ca0bd76db94e5d561f5c30b7b211e865d9e9e494 (patch) | |
| tree | 74ef8413967a9ccb7dc042854d88d79bcae67aa4 /src/api/stats | |
| parent | c76fd5b9b0a3bba6c8ffa847e5fc818661e800d6 (diff) | |
api: unify media-type stripping
Diffstat (limited to 'src/api/stats')
| -rw-r--r-- | src/api/stats/prometheus.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/api/stats/prometheus.rs b/src/api/stats/prometheus.rs index 0b770bd..8f7538f 100644 --- a/src/api/stats/prometheus.rs +++ b/src/api/stats/prometheus.rs @@ -5,6 +5,7 @@ use std::fmt::Write; use super::StatsResponse; +use crate::api::media_type; use crate::api::peers::{PeerListResponse, PeerLivenessStatus}; use crate::state::Incidents; use crate::transport::Destination; @@ -17,10 +18,10 @@ pub(super) const CONTENT_TYPE: &str = "text/plain; version=0.0.4; charset=utf-8" /// plain text; browsers and curl don't name either. pub(super) fn wanted(accept: Option<&str>) -> bool { accept.is_some_and(|accept| { - accept.split(',').any(|item| { - let media = item.split(';').next().unwrap_or("").trim(); - media == "application/openmetrics-text" || media == "text/plain" - }) + accept + .split(',') + .map(media_type) + .any(|media| media == "application/openmetrics-text" || media == "text/plain") }) } |
