diff options
author | Co1a <aaron9shire@gmail.com> | 2024-02-21 14:21:52 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-21 07:21:52 +0100 |
commit | 5f81476d7cf339624b5fec57a06ee96d3e27d9c2 (patch) | |
tree | 62b06111db30c5895dc775f53bf5577f1092c06a /server.go | |
parent | Limit memory for fuzz testing (diff) | |
download | fasthttp-5f81476d7cf339624b5fec57a06ee96d3e27d9c2.tar.gz fasthttp-5f81476d7cf339624b5fec57a06ee96d3e27d9c2.tar.bz2 fasthttp-5f81476d7cf339624b5fec57a06ee96d3e27d9c2.zip |
feat:support zstd compress and uncompressed (#1701)
* feat:support zstd compress and uncompressed
* fix:real & stackless write using different pool to avoid get stackless.writer
* fix:zstd normalize compress level
* Change empty string checks to be more idiomatic (#1684)
* chore:lint fix and rebase with master
* chore:remove 1.18 test & upgrade compress version
* fix:error default compress level
* Fix lint
---------
Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com>
Diffstat (limited to 'server.go')
-rw-r--r-- | server.go | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -523,10 +523,13 @@ func CompressHandler(h RequestHandler) RequestHandler { func CompressHandlerLevel(h RequestHandler, level int) RequestHandler { return func(ctx *RequestCtx) { h(ctx) - if ctx.Request.Header.HasAcceptEncodingBytes(strGzip) { + switch { + case ctx.Request.Header.HasAcceptEncodingBytes(strGzip): ctx.Response.gzipBody(level) //nolint:errcheck - } else if ctx.Request.Header.HasAcceptEncodingBytes(strDeflate) { + case ctx.Request.Header.HasAcceptEncodingBytes(strDeflate): ctx.Response.deflateBody(level) //nolint:errcheck + case ctx.Request.Header.HasAcceptEncodingBytes(strZstd): + ctx.Response.zstdBody(level) //nolint:errcheck } } } @@ -559,6 +562,8 @@ func CompressHandlerBrotliLevel(h RequestHandler, brotliLevel, otherLevel int) R ctx.Response.gzipBody(otherLevel) //nolint:errcheck case ctx.Request.Header.HasAcceptEncodingBytes(strDeflate): ctx.Response.deflateBody(otherLevel) //nolint:errcheck + case ctx.Request.Header.HasAcceptEncodingBytes(strZstd): + ctx.Response.zstdBody(otherLevel) //nolint:errcheck } } } |