mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-12 02:06:37 +08:00
fix(cache): 存量空/url 策略规范为 all,避免静默收窄
评审修复:enabled 且 policy 为空或 url 时,写入/展示/快照/渲染均映射为 all, 保证旧站点宽缓存范围不变;新建 UI 仍显式提交 static 作为推荐默认。
This commit is contained in:
@@ -436,17 +436,20 @@ func decodeStoredCustomHeaders(raw string) ([]CustomHeaderInput, error) {
|
||||
return normalizeCustomHeaders(headers)
|
||||
}
|
||||
|
||||
// normalizeCachePolicy stores API write values.
|
||||
// When enabling with empty/url policy, keep legacy "all" semantics so old rows
|
||||
// and clients that omit policy do not silently narrow cache to static extensions.
|
||||
// New UI should send policy=static explicitly when choosing the recommended default.
|
||||
func normalizeCachePolicy(enabled bool, raw string) string {
|
||||
if !enabled {
|
||||
return ""
|
||||
}
|
||||
policy := strings.TrimSpace(strings.ToLower(raw))
|
||||
switch policy {
|
||||
case "", proxyRouteCachePolicyStatic:
|
||||
return proxyRouteCachePolicyStatic
|
||||
case proxyRouteCachePolicyURL, proxyRouteCachePolicyAll:
|
||||
// Legacy url is normalized to all (full GET allow after security bypass).
|
||||
case "", proxyRouteCachePolicyURL, proxyRouteCachePolicyAll:
|
||||
return proxyRouteCachePolicyAll
|
||||
case proxyRouteCachePolicyStatic:
|
||||
return proxyRouteCachePolicyStatic
|
||||
case proxyRouteCachePolicySuffix, proxyRouteCachePolicyPathPrefix, proxyRouteCachePolicyPathExact:
|
||||
return policy
|
||||
default:
|
||||
@@ -454,6 +457,14 @@ func normalizeCachePolicy(enabled bool, raw string) string {
|
||||
}
|
||||
}
|
||||
|
||||
// displayCachePolicy normalizes values for API list/get (and UI).
|
||||
func displayCachePolicy(enabled bool, raw string) string {
|
||||
if !enabled {
|
||||
return ""
|
||||
}
|
||||
return normalizeCachePolicy(true, raw)
|
||||
}
|
||||
|
||||
func normalizeCacheRules(enabled bool, rawPolicy string, rules []string) ([]string, error) {
|
||||
if !enabled {
|
||||
return []string{}, nil
|
||||
|
||||
Reference in New Issue
Block a user