diff --git a/pkg/serverconfigs/http_cache_config.go b/pkg/serverconfigs/http_cache_config.go index 1815e20..865af51 100644 --- a/pkg/serverconfigs/http_cache_config.go +++ b/pkg/serverconfigs/http_cache_config.go @@ -1,12 +1,17 @@ package serverconfigs -import "encoding/json" +import ( + "encoding/json" + "github.com/iwind/TeaGo/rands" +) type HTTPCacheConfig struct { IsPrior bool `yaml:"isPrior" json:"isPrior"` IsOn bool `yaml:"isOn" json:"isOn"` - AddStatusHeader bool `yaml:"addStatusHeader" json:"addStatusHeader"` // 是否增加命中状态Header + AddStatusHeader bool `yaml:"addStatusHeader" json:"addStatusHeader"` // 是否增加命中状态Header + PurgeIsOn bool `yaml:"purgeIsOn" json:"purgeIsOn"` // 是否允许使用Purge方法清理 + PurgeKey string `yaml:"purgeKey" json:"purgeKey"` // Purge时使用的Edge-Purge-Key CacheRefs []*HTTPCacheRef `yaml:"cacheRefs" json:"cacheRefs"` // 缓存配置 } @@ -18,6 +23,11 @@ func (this *HTTPCacheConfig) Init() error { return err } } + + if this.PurgeIsOn && len(this.PurgeKey) == 0 { + this.PurgeKey = rands.HexString(32) + } + return nil }