diff options
author | Aliaksandr Valialkin <valyala@gmail.com> | 2016-02-08 16:51:03 +0200 |
---|---|---|
committer | Aliaksandr Valialkin <valyala@gmail.com> | 2016-02-08 16:51:03 +0200 |
commit | 999348e2d44a69a0a20aa31e6d80ca2126dda056 (patch) | |
tree | dfa47c8711bf69c95ea2363354db4e6b54d5d52a /compress.go | |
parent | Issue #47: allow out-of range offsets in byte range headers according to RFC ... (diff) | |
download | fasthttp-999348e2d44a69a0a20aa31e6d80ca2126dda056.tar.gz fasthttp-999348e2d44a69a0a20aa31e6d80ca2126dda056.tar.bz2 fasthttp-999348e2d44a69a0a20aa31e6d80ca2126dda056.zip |
Issue #46: use zlib instead of flate for deflate Content-Encoding
Diffstat (limited to 'compress.go')
-rw-r--r-- | compress.go | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/compress.go b/compress.go index bf2cf70..8b3d6d2 100644 --- a/compress.go +++ b/compress.go @@ -4,6 +4,7 @@ import ( "bytes" "compress/flate" "compress/gzip" + "compress/zlib" "fmt" "io" "os" @@ -40,7 +41,10 @@ var gzipReaderPool sync.Pool func acquireFlateReader(r io.Reader) (io.ReadCloser, error) { v := flateReaderPool.Get() if v == nil { - zr := flate.NewReader(r) + zr, err := zlib.NewReader(r) + if err != nil { + return nil, err + } return zr, nil } zr := v.(io.ReadCloser) @@ -56,9 +60,9 @@ func releaseFlateReader(zr io.ReadCloser) { } func resetFlateReader(zr io.ReadCloser, r io.Reader) error { - zrr, ok := zr.(flate.Resetter) + zrr, ok := zr.(zlib.Resetter) if !ok { - panic("BUG: flate.Reader doesn't implement flate.Resetter???") + panic("BUG: zlib.Reader doesn't implement zlib.Resetter???") } return zrr.Reset(r, nil) } @@ -204,9 +208,9 @@ func acquireFlateWriter(w io.Writer, level int) *flateWriter { v := p.Get() if v == nil { - zw, err := flate.NewWriter(w, level) + zw, err := zlib.NewWriterLevel(w, level) if err != nil { - panic(fmt.Sprintf("BUG: unexpected error in flate.NewWriter(%d): %s", level, err)) + panic(fmt.Sprintf("BUG: unexpected error in zlib.NewWriterLevel(%d): %s", level, err)) } return &flateWriter{ Writer: zw, @@ -224,7 +228,7 @@ func releaseFlateWriter(zw *flateWriter) { } type flateWriter struct { - *flate.Writer + *zlib.Writer p *sync.Pool } |