mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-12 11:20:26 +08:00
55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
|
|
package shared
|
||
|
|
|
||
|
|
// HeaderList定义
|
||
|
|
type HTTPHeadersConfig struct {
|
||
|
|
AddHeaders []*HTTPHeaderConfig `yaml:"addHeaders" json:"addHeaders"` // TODO
|
||
|
|
AddTrailers []*HTTPHeaderConfig `yaml:"addTrailers" json:"addTrailers"` // TODO
|
||
|
|
SetHeaders []*HTTPHeaderConfig `yaml:"setHeaders" json:"setHeaders"` // TODO
|
||
|
|
ReplaceHeaders []*HTTPHeaderConfig `yaml:"replaceHeaders" json:"replaceHeaders"` // TODO
|
||
|
|
|
||
|
|
Expires *HTTPExpireHeaderConfig `yaml:"expires" json:"expires"` // TODO
|
||
|
|
}
|
||
|
|
|
||
|
|
// 获取新对象
|
||
|
|
func NewHTTPHeaders() *HTTPHeadersConfig {
|
||
|
|
return &HTTPHeadersConfig{}
|
||
|
|
}
|
||
|
|
|
||
|
|
// 校验
|
||
|
|
func (this *HTTPHeadersConfig) Init() error {
|
||
|
|
for _, h := range this.AddHeaders {
|
||
|
|
err := h.Init()
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
for _, h := range this.AddTrailers {
|
||
|
|
err := h.Init()
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
for _, h := range this.SetHeaders {
|
||
|
|
err := h.Init()
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
for _, h := range this.ReplaceHeaders {
|
||
|
|
err := h.Init()
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
return nil
|
||
|
|
}
|
||
|
|
|
||
|
|
// 判断是否为空
|
||
|
|
func (this *HTTPHeadersConfig) IsEmpty() bool {
|
||
|
|
return len(this.AddHeaders) == 0 && len(this.AddTrailers) == 0 && len(this.SetHeaders) == 0 && len(this.ReplaceHeaders) == 0 && this.Expires == nil
|
||
|
|
}
|