aboutsummaryrefslogtreecommitdiff
path: root/compress.go
diff options
context:
space:
mode:
authorGravatar Aliaksandr Valialkin <valyala@gmail.com> 2015-12-31 12:15:55 +0200
committerGravatar Aliaksandr Valialkin <valyala@gmail.com> 2015-12-31 12:15:55 +0200
commit0e7c44160c3bc25f537153720433f825475c564a (patch)
tree02890d6cfd4f195b368ac9da72d058abf850d112 /compress.go
parentFixed a typo (diff)
downloadfasthttp-0e7c44160c3bc25f537153720433f825475c564a.tar.gz
fasthttp-0e7c44160c3bc25f537153720433f825475c564a.tar.bz2
fasthttp-0e7c44160c3bc25f537153720433f825475c564a.zip
Added AppendGzipBytesLevel for gzipping with desired compression level
Diffstat (limited to 'compress.go')
-rw-r--r--compress.go19
1 files changed, 16 insertions, 3 deletions
diff --git a/compress.go b/compress.go
index 033bb60..f619cdd 100644
--- a/compress.go
+++ b/compress.go
@@ -108,15 +108,28 @@ var gzipWriterPoolMap = func() map[int]*sync.Pool {
return m
}()
-// AppendGzipBytes appends gzipped src to dst and returns the resulting dst.
-func AppendGzipBytes(dst, src []byte) []byte {
+// AppendGzipBytesLevel appends gzipped src to dst using the given
+// compression level and returns the resulting dst.
+//
+// Supported compression levels are:
+//
+// * CompressNoCompression
+// * CompressBestSpeed
+// * CompressBestCompression
+// * CompressDefaultCompression
+func AppendGzipBytesLevel(dst, src []byte, level int) []byte {
w := &byteSliceWriter{dst}
- zw := acquireGzipWriter(w, CompressDefaultCompression)
+ zw := acquireGzipWriter(w, level)
zw.Write(src)
releaseGzipWriter(zw)
return w.b
}
+// AppendGzipBytes appends gzipped src to dst and returns the resulting dst.
+func AppendGzipBytes(dst, src []byte) []byte {
+ return AppendGzipBytesLevel(dst, src, CompressDefaultCompression)
+}
+
// AppendGunzipBytes append gunzipped src to dst and returns the resulting dst.
func AppendGunzipBytes(dst, src []byte) ([]byte, error) {
r := &byteSliceReader{src}