func Compress(input []byte, compressOption int) ([]byte, error) {
var in bytes.Buffer
zlibWriter, err := zlib.NewWriterLevel(&in, compressOption)
if err != nil {
return nil, err
}
_, err = zlibWriter.Write(input)
if err != nil {
return nil, err
}
zlibWriter.Close()
return in.Bytes(), nil
}
func UnCompress(input []byte) ([]byte, error) {
var out bytes.Buffer
zlibReader, err := zlib.NewReader(bytes.NewBuffer(input))
if err != nil {
return nil, err
}
_, err = io.Copy(&out, zlibReader)
if err != nil {
return nil, err
}
zlibReader.Close()
return out.Bytes(), nil
}