From 702e1ae23352bb0cc102d9b7b2bd479146599e3d Mon Sep 17 00:00:00 2001 From: "data-plane-api(CircleCI)" Date: Tue, 12 May 2020 19:18:11 +0000 Subject: [PATCH] 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 Mirrored from https://github.com/envoyproxy/envoy @ 520e0c7050564ac7886129a87290e9e433470efd --- BUILD | 1 + .../compression/gzip/compressor/v3/gzip.proto | 2 +- .../compression/gzip/decompressor/v3/BUILD | 9 ++++++ .../gzip/decompressor/v3/gzip.proto | 30 +++++++++++++++++++ versioning/BUILD | 1 + 5 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 envoy/extensions/compression/gzip/decompressor/v3/BUILD create mode 100644 envoy/extensions/compression/gzip/decompressor/v3/gzip.proto diff --git a/BUILD b/BUILD index 2472352a..f5bd8c1a 100644 --- a/BUILD +++ b/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", diff --git a/envoy/extensions/compression/gzip/compressor/v3/gzip.proto b/envoy/extensions/compression/gzip/compressor/v3/gzip.proto index 7508e17d..d4d60eaa 100644 --- a/envoy/extensions/compression/gzip/compressor/v3/gzip.proto +++ b/envoy/extensions/compression/gzip/compressor/v3/gzip.proto @@ -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] diff --git a/envoy/extensions/compression/gzip/decompressor/v3/BUILD b/envoy/extensions/compression/gzip/decompressor/v3/BUILD new file mode 100644 index 00000000..ef3541eb --- /dev/null +++ b/envoy/extensions/compression/gzip/decompressor/v3/BUILD @@ -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"], +) diff --git a/envoy/extensions/compression/gzip/decompressor/v3/gzip.proto b/envoy/extensions/compression/gzip/decompressor/v3/gzip.proto new file mode 100644 index 00000000..097531ab --- /dev/null +++ b/envoy/extensions/compression/gzip/decompressor/v3/gzip.proto @@ -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}]; +} diff --git a/versioning/BUILD b/versioning/BUILD index 4d768d09..e23f851b 100644 --- a/versioning/BUILD +++ b/versioning/BUILD @@ -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",