From 80ac8aa40ed830305994fc5d2f0dca732c0d9021 Mon Sep 17 00:00:00 2001 From: JessonChan Date: Fri, 18 Dec 2015 09:28:40 +0800 Subject: [PATCH] compress level test fixed --- context/acceptencoder.go | 11 ++++++++--- staticfile_test.go | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/context/acceptencoder.go b/context/acceptencoder.go index 1bd2cc3d..0a0586ac 100644 --- a/context/acceptencoder.go +++ b/context/acceptencoder.go @@ -18,6 +18,7 @@ import ( "bytes" "compress/flate" "compress/gzip" + "compress/zlib" "io" "net/http" "os" @@ -31,9 +32,13 @@ type acceptEncoder struct { } var ( - noneCompressEncoder = acceptEncoder{"", func(wr io.Writer, level int) (io.Writer, error) { return wr, nil }} - gzipCompressEncoder = acceptEncoder{"gzip", func(wr io.Writer, level int) (io.Writer, error) { return gzip.NewWriterLevel(wr, level) }} - deflateCompressEncoder = acceptEncoder{"deflate", func(wr io.Writer, level int) (io.Writer, error) { return flate.NewWriter(wr, level) }} + noneCompressEncoder = acceptEncoder{"", func(wr io.Writer, level int) (io.Writer, error) { return wr, nil }} + gzipCompressEncoder = acceptEncoder{"gzip", func(wr io.Writer, level int) (io.Writer, error) { return gzip.NewWriterLevel(wr, level) }} + //according to the sec :http://tools.ietf.org/html/rfc2616#section-3.5 ,the deflate compress in http is zlib indeed + //deflate + //The "zlib" format defined in RFC 1950 [31] in combination with + //the "deflate" compression mechanism described in RFC 1951 [29]. + deflateCompressEncoder = acceptEncoder{"deflate", func(wr io.Writer, level int) (io.Writer, error) { return zlib.NewWriterLevel(wr, level) }} ) var ( diff --git a/staticfile_test.go b/staticfile_test.go index e635fcc6..d3333570 100644 --- a/staticfile_test.go +++ b/staticfile_test.go @@ -2,8 +2,8 @@ package beego import ( "bytes" - "compress/flate" "compress/gzip" + "compress/zlib" "io" "io/ioutil" "os" @@ -43,7 +43,7 @@ func TestOpenStaticFileGzip_1(t *testing.T) { func TestOpenStaticFileDeflate_1(t *testing.T) { file, _ := os.Open(licenseFile) var zipBuf bytes.Buffer - fileWriter, _ := flate.NewWriter(&zipBuf, flate.BestCompression) + fileWriter, _ := zlib.NewWriterLevel(&zipBuf, zlib.BestCompression) io.Copy(fileWriter, file) fileWriter.Close() content, _ := ioutil.ReadAll(&zipBuf)