Skip to content

Commit 51c94bc

Browse files
authored
api: ignore /api/gnet proxy when gzipping responses (grafana#71437)
This PR adds /api/gnet to the list of ignored paths in the gzip middleware. Without this, when gzip is enabled (`server.enable_gzip = true`), responses from the gnet proxy are double compressed: once by grafana.com and once by Grafana itself. With this change we only do one round of compression for these endpoints. To test this out, try a request like this with `server.enable_gzip = true` (after setting `GCOM_TOKEN` to a valid grafana.com token; you may need to change the 'bsull' slug, too): curl -v --user admin:admin \ -H "X-Api-Key: $GCOM_TOKEN" \ -H 'Accept-Encoding: gzip' \ localhost:3000/api/gnet/instances/bsull/provisioned-plugins/grafana-ml-app | gzip -d Note that there are two Content-Encoding: gzip headers before this PR, and the output is still compressed even after the `gzip -d`. After this PR things look as expected.
1 parent 1f55003 commit 51c94bc

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

pkg/middleware/gziper.go

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ var gzipIgnoredPaths = []matcher{
4545
prefix("/api/datasources"),
4646
prefix("/api/plugins"),
4747
prefix("/api/plugin-proxy/"),
48+
prefix("/api/gnet/"), // Already gzipped by grafana.com.
4849
prefix("/metrics"),
4950
prefix("/api/live/ws"), // WebSocket does not support gzip compression.
5051
prefix("/api/live/push"), // WebSocket does not support gzip compression.

0 commit comments

Comments
 (0)