add new formats to content negotiation

This commit is contained in:
Owen Williams 2024-01-09 13:16:34 -05:00
parent eefac3fcde
commit 9a3ffc86d7
2 changed files with 10 additions and 1 deletions

View file

@ -446,22 +446,28 @@ func (s ScrapeProtocol) Validate() error {
var (
PrometheusProto ScrapeProtocol = "PrometheusProto"
PrometheusText0_0_4 ScrapeProtocol = "PrometheusText0.0.4"
PrometheusText1_0_0 ScrapeProtocol = "PrometheusText1.0.0"
OpenMetricsText0_0_1 ScrapeProtocol = "OpenMetricsText0.0.1"
OpenMetricsText1_0_0 ScrapeProtocol = "OpenMetricsText1.0.0"
OpenMetricsText2_0_0 ScrapeProtocol = "OpenMetricsText2.0.0"
UTF8NamesHeader string = model.EscapingKey+"="+model.AllowUTF8
ScrapeProtocolsHeaders = map[ScrapeProtocol]string{
PrometheusProto: "application/vnd.google.protobuf;proto=io.prometheus.client.MetricFamily;encoding=delimited",
PrometheusText0_0_4: "text/plain;version=0.0.4",
PrometheusText1_0_0: "text/plain;version=1_0_0",
OpenMetricsText0_0_1: "application/openmetrics-text;version=0.0.1",
OpenMetricsText1_0_0: "application/openmetrics-text;version=1.0.0",
OpenMetricsText2_0_0: "application/openmetrics-text;version=2.0.0",
}
// DefaultScrapeProtocols is the set of scrape protocols that will be proposed
// to scrape target, ordered by priority.
DefaultScrapeProtocols = []ScrapeProtocol{
OpenMetricsText2_0_0,
OpenMetricsText1_0_0,
OpenMetricsText0_0_1,
PrometheusText1_0_0,
PrometheusText0_0_4,
}
@ -471,6 +477,7 @@ var (
// "native-histograms" and "created-timestamp-zero-ingestion".
DefaultProtoFirstScrapeProtocols = []ScrapeProtocol{
PrometheusProto,
OpenMetricsText2_0_0,
OpenMetricsText1_0_0,
OpenMetricsText0_0_1,
PrometheusText0_0_4,

View file

@ -693,7 +693,9 @@ func acceptHeader(sps []config.ScrapeProtocol, allowUTF8Names bool) string {
}
// Default match anything.
vals = append(vals, fmt.Sprintf("*/*;q=0.%d", weight))
return strings.Join(vals, ",")
ret := strings.Join(vals, ",")
fmt.Println("~~~~~~~~~~~~~~~~~~~accept header", ret)
return ret
}
func acceptEncodingHeader(enableCompression bool) string {