From 62027e95b2f5da87e86f4ee14eb661b8702a5aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Mon, 27 Jun 2022 22:41:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81ZSTD=E5=8E=8B=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/serverconfigs/http_compression_config.go | 7 +++++++ pkg/serverconfigs/http_compression_types.go | 1 + 2 files changed, 8 insertions(+) diff --git a/pkg/serverconfigs/http_compression_config.go b/pkg/serverconfigs/http_compression_config.go index 63e4120..fb6cb75 100644 --- a/pkg/serverconfigs/http_compression_config.go +++ b/pkg/serverconfigs/http_compression_config.go @@ -49,6 +49,7 @@ type HTTPCompressionConfig struct { supportGzip bool supportDeflate bool supportBrotli bool + supportZSTD bool } // Init 初始化 @@ -133,6 +134,8 @@ func (this *HTTPCompressionConfig) Init() error { if this.BrotliRef == nil || (this.BrotliRef != nil && this.BrotliRef.IsOn && this.Brotli != nil && this.Brotli.IsOn) { this.supportBrotli = true } + case HTTPCompressionTypeZSTD: + this.supportZSTD = true } } @@ -244,6 +247,10 @@ func (this *HTTPCompressionConfig) MatchAcceptEncoding(acceptEncodings string) ( if this.supportBrotli && lists.ContainsString(encodings, "br") { return HTTPCompressionTypeBrotli, "br", true } + case HTTPCompressionTypeZSTD: + if this.supportZSTD && lists.ContainsString(encodings, "zstd") { + return HTTPCompressionTypeZSTD, "zstd", true + } } } diff --git a/pkg/serverconfigs/http_compression_types.go b/pkg/serverconfigs/http_compression_types.go index e4c4bfb..eaea66b 100644 --- a/pkg/serverconfigs/http_compression_types.go +++ b/pkg/serverconfigs/http_compression_types.go @@ -8,4 +8,5 @@ const ( HTTPCompressionTypeGzip HTTPCompressionType = "gzip" HTTPCompressionTypeDeflate HTTPCompressionType = "deflate" HTTPCompressionTypeBrotli HTTPCompressionType = "brotli" + HTTPCompressionTypeZSTD HTTPCompressionType = "zstd" )