Files
EdgeCommon/pkg/serverconfigs/http_compression_brotli_config.go

37 lines
1.0 KiB
Go
Raw Normal View History

2021-09-29 19:37:32 +08:00
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
2020-09-16 09:09:31 +08:00
package serverconfigs
2021-09-29 19:37:32 +08:00
import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
type HTTPBrotliCompressionConfig struct {
Id int64 `yaml:"id" json:"id"` // ID
IsOn bool `yaml:"isOn" json:"isOn"`
2020-09-16 09:09:31 +08:00
2021-09-29 19:37:32 +08:00
Level int8 `yaml:"level" json:"level"` // 级别
2020-09-29 17:23:11 +08:00
MinLength *shared.SizeCapacity `yaml:"minLength" json:"minLength"` // 最小压缩对象比如4m, 24k
MaxLength *shared.SizeCapacity `yaml:"maxLength" json:"maxLength"` // 最大压缩对象
Conds *shared.HTTPRequestCondsConfig `yaml:"conds" json:"conds"` // 匹配条件
2020-09-16 09:09:31 +08:00
minLength int64
2020-09-29 17:23:11 +08:00
maxLength int64
2020-09-16 09:09:31 +08:00
}
2021-09-29 19:37:32 +08:00
func (this *HTTPBrotliCompressionConfig) Init() error {
2020-09-16 09:09:31 +08:00
if this.MinLength != nil {
this.minLength = this.MinLength.Bytes()
}
2020-09-29 17:23:11 +08:00
if this.MaxLength != nil {
this.maxLength = this.MaxLength.Bytes()
}
if this.Conds != nil {
err := this.Conds.Init()
if err != nil {
return err
}
}
2020-09-16 09:09:31 +08:00
return nil
}