mirror of
https://github.com/woodchen-ink/proxy-go.git
synced 2025-07-18 08:31:55 +08:00
add brotli and gzip compression support, update docker-compose and deployment script
23 lines
448 B
Go
23 lines
448 B
Go
package compression
|
|
|
|
import (
|
|
"compress/gzip"
|
|
"io"
|
|
)
|
|
|
|
type GzipCompressor struct {
|
|
level int
|
|
}
|
|
|
|
func NewGzipCompressor(level int) *GzipCompressor {
|
|
// 确保level在有效范围内
|
|
if level < gzip.DefaultCompression || level > gzip.BestCompression {
|
|
level = gzip.DefaultCompression
|
|
}
|
|
return &GzipCompressor{level: level}
|
|
}
|
|
|
|
func (g *GzipCompressor) Compress(w io.Writer) (io.WriteCloser, error) {
|
|
return gzip.NewWriterLevel(w, g.level)
|
|
}
|