This extension may be referenced by the qualified name envoy.filters.http.compressor


This extension is intended to be robust against untrusted downstream traffic. It assumes that the upstream is trusted.

Compressor configuration overview.


[extensions.filters.http.compressor.v3.Compressor proto]

  "content_length": "{...}",
  "content_type": [],
  "disable_on_etag_header": "...",
  "remove_accept_encoding_header": "...",
  "runtime_enabled": "{...}",
  "compressor_library": "{...}"

(UInt32Value) Minimum response length, in bytes, which will trigger compression. The default value is 30.


(string) Set of strings that allows specifying which mime-types yield compression; e.g., application/json, text/html, etc. When this field is not defined, compression will be applied to the following mime-types: “application/javascript”, “application/json”, “application/xhtml+xml”, “image/svg+xml”, “text/css”, “text/html”, “text/plain”, “text/xml” and their synonyms.


(bool) If true, disables compression when the response contains an etag header. When it is false, the filter will preserve weak etags and remove the ones that require strong validation.


(bool) If true, removes accept-encoding from the request headers before dispatching it to the upstream so that responses do not get compressed before reaching the filter. .. attention:

To avoid interfering with other compression filters in the same chain use this option in the filter closest to the upstream.


(config.core.v3.RuntimeFeatureFlag) Runtime flag that controls whether the filter is enabled or not. If set to false, the filter will operate as a pass-through filter. If not specified, defaults to enabled.


(config.core.v3.TypedExtensionConfig) A compressor library to use for compression. Currently only envoy.compression.gzip.compressor is included in Envoy. This field is ignored if used in the context of the gzip http-filter, but is mandatory otherwise.