filters: add generic compressor filter (#7057)

Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>

Mirrored from https://github.com/envoyproxy/envoy @ 884bc7d13c06ca5c6f59e35ed0a8726b474e1d38
master-ci-test
data-plane-api(CircleCI) 5 years ago
parent c4c7614a84
commit 2d0925fe90
  1. 2
      BUILD
  2. 1
      docs/BUILD
  3. 12
      envoy/config/filter/http/compressor/v2/BUILD
  4. 46
      envoy/config/filter/http/compressor/v2/compressor.proto
  5. 13
      envoy/extensions/filters/http/compressor/v3/BUILD
  6. 47
      envoy/extensions/filters/http/compressor/v3/compressor.proto

@ -31,6 +31,7 @@ proto_library(
"//envoy/config/filter/http/aws_request_signing/v2alpha:pkg",
"//envoy/config/filter/http/buffer/v2:pkg",
"//envoy/config/filter/http/cache/v2alpha:pkg",
"//envoy/config/filter/http/compressor/v2:pkg",
"//envoy/config/filter/http/cors/v2:pkg",
"//envoy/config/filter/http/csrf/v2:pkg",
"//envoy/config/filter/http/dynamic_forward_proxy/v2alpha:pkg",
@ -161,6 +162,7 @@ proto_library(
"//envoy/extensions/filters/http/aws_request_signing/v3:pkg",
"//envoy/extensions/filters/http/buffer/v3:pkg",
"//envoy/extensions/filters/http/cache/v3alpha:pkg",
"//envoy/extensions/filters/http/compressor/v3:pkg",
"//envoy/extensions/filters/http/cors/v3:pkg",
"//envoy/extensions/filters/http/csrf/v3:pkg",
"//envoy/extensions/filters/http/dynamic_forward_proxy/v3:pkg",

@ -37,6 +37,7 @@ proto_library(
"//envoy/config/filter/http/aws_request_signing/v2alpha:pkg",
"//envoy/config/filter/http/buffer/v2:pkg",
"//envoy/config/filter/http/cache/v2alpha:pkg",
"//envoy/config/filter/http/compressor/v2:pkg",
"//envoy/config/filter/http/cors/v2:pkg",
"//envoy/config/filter/http/csrf/v2:pkg",
"//envoy/config/filter/http/dynamic_forward_proxy/v2alpha:pkg",

@ -0,0 +1,12 @@
# DO NOT EDIT. This file is generated by tools/proto_sync.py.
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package")
licenses(["notice"]) # Apache 2
api_proto_package(
deps = [
"//envoy/api/v2/core:pkg",
"@com_github_cncf_udpa//udpa/annotations:pkg",
],
)

@ -0,0 +1,46 @@
syntax = "proto3";
package envoy.config.filter.http.compressor.v2;
import "envoy/api/v2/core/base.proto";
import "google/protobuf/wrappers.proto";
import "udpa/annotations/migrate.proto";
option java_package = "io.envoyproxy.envoy.config.filter.http.compressor.v2";
option java_outer_classname = "CompressorProto";
option java_multiple_files = true;
option (udpa.annotations.file_migrate).move_to_package =
"envoy.extensions.filters.http.compressor.v3";
// [#protodoc-title: Compressor]
// [#next-free-field: 6]
message Compressor {
// Minimum response length, in bytes, which will trigger compression. The default value is 30.
google.protobuf.UInt32Value content_length = 1;
// 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.
repeated string content_type = 2;
// 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 disable_on_etag_header = 3;
// 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.
bool remove_accept_encoding_header = 4;
// 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.
api.v2.core.RuntimeFeatureFlag runtime_enabled = 5;
}

@ -0,0 +1,13 @@
# DO NOT EDIT. This file is generated by tools/proto_sync.py.
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package")
licenses(["notice"]) # Apache 2
api_proto_package(
deps = [
"//envoy/config/core/v3:pkg",
"//envoy/config/filter/http/compressor/v2:pkg",
"@com_github_cncf_udpa//udpa/annotations:pkg",
],
)

@ -0,0 +1,47 @@
syntax = "proto3";
package envoy.extensions.filters.http.compressor.v3;
import "envoy/config/core/v3/base.proto";
import "google/protobuf/wrappers.proto";
import "udpa/annotations/versioning.proto";
option java_package = "io.envoyproxy.envoy.extensions.filters.http.compressor.v3";
option java_outer_classname = "CompressorProto";
option java_multiple_files = true;
// [#protodoc-title: Compressor]
// [#next-free-field: 6]
message Compressor {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.http.compressor.v2.Compressor";
// Minimum response length, in bytes, which will trigger compression. The default value is 30.
google.protobuf.UInt32Value content_length = 1;
// 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.
repeated string content_type = 2;
// 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 disable_on_etag_header = 3;
// 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.
bool remove_accept_encoding_header = 4;
// 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.RuntimeFeatureFlag runtime_enabled = 5;
}
Loading…
Cancel
Save