Files

31 lines
780 B
Go

//go:build linux || freebsd
// +build linux freebsd
package compression
import (
"compress/gzip"
"io"
)
type gzipDecompressor struct{ *BaseDecompressor }
func NewGzipDecompressor() *gzipDecompressor {
return &gzipDecompressor{NewBaseDecompressor("gzip", []string{"gzip"}, []string{".gz"})}
}
// ✅ Oprava: returns (io.Reader, error)
func (g *gzipDecompressor) Reader(r io.Reader) (io.ReadCloser, error) {
return gzip.NewReader(r)
}
type gzipCompressor struct{ name string }
func NewGzipCompressor() *gzipCompressor { return &gzipCompressor{name: "gzip"} }
func (g *gzipCompressor) Name() string { return g.name }
func (g *gzipCompressor) Writer(w io.Writer) (io.WriteCloser, error) {
return gzip.NewWriter(w), nil
}
func init() { Register(NewGzipDecompressor()) }