filters: add generic compressor filter (#7057)
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com> Mirrored from https://github.com/envoyproxy/envoy @ 884bc7d13c06ca5c6f59e35ed0a8726b474e1d38master-ci-test
parent
c4c7614a84
commit
2d0925fe90
6 changed files with 121 additions and 0 deletions
@ -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…
Reference in new issue