| 1234567891011121314151617181920212223242526272829303132333435363738 |
- package util
- import (
- "bytes"
- "compress/gzip"
- "io/ioutil"
- )
- func GzipEncode(in []byte) ([]byte, error) {
- var (
- buffer bytes.Buffer
- out []byte
- err error
- )
- writer, _ := gzip.NewWriterLevel(&buffer, gzip.BestSpeed)
- _, err = writer.Write(in)
- if err != nil {
- writer.Close()
- return out, err
- }
- err = writer.Close()
- if err != nil {
- return out, err
- }
- return buffer.Bytes(), nil
- }
- func GzipDecode(in []byte) ([]byte, error) {
- reader, err := gzip.NewReader(bytes.NewReader(in))
- if err != nil {
- var out []byte
- return out, err
- }
- defer reader.Close()
- return ioutil.ReadAll(reader)
- }
|