Vendor main dependencies.
This commit is contained in:
parent
49a09ab7dd
commit
dd5e3fba01
2738 changed files with 1045689 additions and 0 deletions
63
vendor/github.com/emicklei/go-restful/compressor_pools.go
generated
vendored
Normal file
63
vendor/github.com/emicklei/go-restful/compressor_pools.go
generated
vendored
Normal file
|
@ -0,0 +1,63 @@
|
|||
package restful
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"compress/gzip"
|
||||
"compress/zlib"
|
||||
"sync"
|
||||
)
|
||||
|
||||
// GzipWriterPool is used to get reusable zippers.
|
||||
// The Get() result must be type asserted to *gzip.Writer.
|
||||
var GzipWriterPool = &sync.Pool{
|
||||
New: func() interface{} {
|
||||
return newGzipWriter()
|
||||
},
|
||||
}
|
||||
|
||||
func newGzipWriter() *gzip.Writer {
|
||||
// create with an empty bytes writer; it will be replaced before using the gzipWriter
|
||||
writer, err := gzip.NewWriterLevel(new(bytes.Buffer), gzip.BestSpeed)
|
||||
if err != nil {
|
||||
panic(err.Error())
|
||||
}
|
||||
return writer
|
||||
}
|
||||
|
||||
// GzipReaderPool is used to get reusable zippers.
|
||||
// The Get() result must be type asserted to *gzip.Reader.
|
||||
var GzipReaderPool = &sync.Pool{
|
||||
New: func() interface{} {
|
||||
return newGzipReader()
|
||||
},
|
||||
}
|
||||
|
||||
func newGzipReader() *gzip.Reader {
|
||||
// create with an empty reader (but with GZIP header); it will be replaced before using the gzipReader
|
||||
w := GzipWriterPool.Get().(*gzip.Writer)
|
||||
b := new(bytes.Buffer)
|
||||
w.Reset(b)
|
||||
w.Flush()
|
||||
w.Close()
|
||||
reader, err := gzip.NewReader(bytes.NewReader(b.Bytes()))
|
||||
if err != nil {
|
||||
panic(err.Error())
|
||||
}
|
||||
return reader
|
||||
}
|
||||
|
||||
// ZlibWriterPool is used to get reusable zippers.
|
||||
// The Get() result must be type asserted to *zlib.Writer.
|
||||
var ZlibWriterPool = &sync.Pool{
|
||||
New: func() interface{} {
|
||||
return newZlibWriter()
|
||||
},
|
||||
}
|
||||
|
||||
func newZlibWriter() *zlib.Writer {
|
||||
writer, err := zlib.NewWriterLevel(new(bytes.Buffer), gzip.BestSpeed)
|
||||
if err != nil {
|
||||
panic(err.Error())
|
||||
}
|
||||
return writer
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue