mirror of
https://github.com/prometheus/prometheus
synced 2024-12-25 07:52:28 +00:00
Apply HTTP handler compression everywhere
This commit is contained in:
parent
c42035abff
commit
f8a25f6af7
@ -16,6 +16,7 @@ import (
|
||||
"github.com/prometheus/prometheus/promql"
|
||||
"github.com/prometheus/prometheus/storage/local"
|
||||
"github.com/prometheus/prometheus/storage/metric"
|
||||
"github.com/prometheus/prometheus/util/httputil"
|
||||
"github.com/prometheus/prometheus/util/route"
|
||||
"github.com/prometheus/prometheus/util/strutil"
|
||||
)
|
||||
@ -79,7 +80,7 @@ func (api *API) Register(r *route.Router) {
|
||||
}
|
||||
|
||||
instr := func(name string, f apiFunc) http.HandlerFunc {
|
||||
return prometheus.InstrumentHandlerFunc(name, func(w http.ResponseWriter, r *http.Request) {
|
||||
hf := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
setCORS(w)
|
||||
if data, err := f(r); err != nil {
|
||||
respondError(w, err, data)
|
||||
@ -87,6 +88,7 @@ func (api *API) Register(r *route.Router) {
|
||||
respond(w, data)
|
||||
}
|
||||
})
|
||||
return prometheus.InstrumentHandler(name, httputil.CompressionHandler{hf})
|
||||
}
|
||||
|
||||
r.Get("/query", instr("query", api.query))
|
||||
|
@ -41,6 +41,7 @@ import (
|
||||
"github.com/prometheus/prometheus/rules"
|
||||
"github.com/prometheus/prometheus/storage/local"
|
||||
"github.com/prometheus/prometheus/template"
|
||||
"github.com/prometheus/prometheus/util/httputil"
|
||||
"github.com/prometheus/prometheus/util/route"
|
||||
"github.com/prometheus/prometheus/version"
|
||||
"github.com/prometheus/prometheus/web/api/legacy"
|
||||
@ -155,8 +156,12 @@ func New(st local.Storage, qe *promql.Engine, rm *rules.Manager, status *Prometh
|
||||
router = router.WithPrefix(o.ExternalURL.Path)
|
||||
}
|
||||
|
||||
instrf := prometheus.InstrumentHandlerFunc
|
||||
instrh := prometheus.InstrumentHandler
|
||||
instrh := func(name string, h http.Handler) http.HandlerFunc {
|
||||
return prometheus.InstrumentHandler(name, httputil.CompressionHandler{h})
|
||||
}
|
||||
instrf := func(name string, f http.HandlerFunc) http.HandlerFunc {
|
||||
return instrh(name, f)
|
||||
}
|
||||
|
||||
router.Get("/", func(w http.ResponseWriter, r *http.Request) {
|
||||
http.Redirect(w, r, "/graph", http.StatusFound)
|
||||
|
Loading…
Reference in New Issue
Block a user