1
0
Fork 0
forked from jriou/coller
coller/src/server/compression.go
Julien Riou ef9aca1f3b
Initial commit
Signed-off-by: Julien Riou <julien@riou.xyz>
2025-08-21 16:22:03 +02:00

31 lines
434 B
Go

package server
import (
"bytes"
"compress/gzip"
)
func Compress(data []byte) []byte {
var b bytes.Buffer
w := gzip.NewWriter(&b)
w.Write(data)
w.Close()
return b.Bytes()
}
func Decompress(data []byte) ([]byte, error) {
b := bytes.NewBuffer(data)
r, err := gzip.NewReader(b)
if err != nil {
return nil, err
}
var w bytes.Buffer
_, err = w.ReadFrom(r)
if err != nil {
return nil, err
}
return w.Bytes(), nil
}