compression: create a decompressor extensibility point and move gzip decompressor (#10744)

creates decompressors as an extension point and moves the zlib based gzip decompressor.

Signed-off-by: Jose Nino <jnino@lyft.com>

Mirrored from https://github.com/envoyproxy/envoy @ 520e0c7050564ac7886129a87290e9e433470efd
master-ci-test
data-plane-api(CircleCI) 5 years ago
parent 4b17dcd46a
commit 702e1ae233
  1. 1
      BUILD
  2. 2
      envoy/extensions/compression/gzip/compressor/v3/gzip.proto
  3. 9
      envoy/extensions/compression/gzip/decompressor/v3/BUILD
  4. 30
      envoy/extensions/compression/gzip/decompressor/v3/gzip.proto
  5. 1
      versioning/BUILD

@ -162,6 +162,7 @@ proto_library(
"//envoy/extensions/common/ratelimit/v3:pkg",
"//envoy/extensions/common/tap/v3:pkg",
"//envoy/extensions/compression/gzip/compressor/v3:pkg",
"//envoy/extensions/compression/gzip/decompressor/v3:pkg",
"//envoy/extensions/filters/common/fault/v3:pkg",
"//envoy/extensions/filters/http/adaptive_concurrency/v3:pkg",
"//envoy/extensions/filters/http/aws_lambda/v3:pkg",

@ -13,7 +13,7 @@ option java_outer_classname = "GzipProto";
option java_multiple_files = true;
option (udpa.annotations.file_status).package_version_status = ACTIVE;
// [#protodoc-title: Gzip]
// [#protodoc-title: Gzip Compressor]
// [#extension: envoy.compression.gzip.compressor]
// [#next-free-field: 6]

@ -0,0 +1,9 @@
# 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 = ["@com_github_cncf_udpa//udpa/annotations:pkg"],
)

@ -0,0 +1,30 @@
syntax = "proto3";
package envoy.extensions.compression.gzip.decompressor.v3;
import "google/protobuf/wrappers.proto";
import "udpa/annotations/migrate.proto";
import "udpa/annotations/status.proto";
import "udpa/annotations/versioning.proto";
import "validate/validate.proto";
option java_package = "io.envoyproxy.envoy.extensions.compression.gzip.decompressor.v3";
option java_outer_classname = "GzipProto";
option java_multiple_files = true;
option (udpa.annotations.file_status).package_version_status = ACTIVE;
// [#protodoc-title: Gzip Decompressor]
// [#extension: envoy.compression.gzip.decompressor]
message Gzip {
// Value from 9 to 15 that represents the base two logarithmic of the decompressor's window size.
// The decompression window size needs to be equal or larger than the compression window size.
// The default is 15 per zlib's manual. For more details about this parameter, please refer to
// zlib manual > inflateInit2.
google.protobuf.UInt32Value window_bits = 1 [(validate.rules).uint32 = {lte: 15 gte: 9}];
// Value for zlib's decompressor output buffer. If not set, defaults to 4096.
// See https://www.zlib.net/manual.html for more details.
google.protobuf.UInt32Value chunk_size = 2 [(validate.rules).uint32 = {lte: 65536 gte: 4096}];
}

@ -45,6 +45,7 @@ proto_library(
"//envoy/extensions/common/ratelimit/v3:pkg",
"//envoy/extensions/common/tap/v3:pkg",
"//envoy/extensions/compression/gzip/compressor/v3:pkg",
"//envoy/extensions/compression/gzip/decompressor/v3:pkg",
"//envoy/extensions/filters/common/fault/v3:pkg",
"//envoy/extensions/filters/http/adaptive_concurrency/v3:pkg",
"//envoy/extensions/filters/http/aws_lambda/v3:pkg",

Loading…
Cancel
Save