mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-05 01:20:26 +08:00
22 lines
648 B
Go
22 lines
648 B
Go
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
|
|
|
package compressions
|
|
|
|
import (
|
|
"errors"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
|
|
"io"
|
|
)
|
|
|
|
func NewWriter(writer io.Writer, compressType serverconfigs.HTTPCompressionType, level int) (Writer, error) {
|
|
switch compressType {
|
|
case serverconfigs.HTTPCompressionTypeGzip:
|
|
return NewGzipWriter(writer, level)
|
|
case serverconfigs.HTTPCompressionTypeDeflate:
|
|
return NewDeflateWriter(writer, level)
|
|
case serverconfigs.HTTPCompressionTypeBrotli:
|
|
return NewBrotliWriter(writer, level)
|
|
}
|
|
return nil, errors.New("invalid compression type '" + compressType + "'")
|
|
}
|