From 947518b5da60f325b49a831bca70269dcd4e846b Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sat, 3 Sep 2022 18:16:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AE=80=E5=8C=96=E7=9A=84?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E6=9D=A1=E4=BB=B6=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/nodes/http_request_cache.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/internal/nodes/http_request_cache.go b/internal/nodes/http_request_cache.go index 1e31937..6bc6d34 100644 --- a/internal/nodes/http_request_cache.go +++ b/internal/nodes/http_request_cache.go @@ -44,12 +44,11 @@ func (this *HTTPRequest) doCacheRead(useStale bool) (shouldStop bool) { // 检查服务独立的缓存条件 refType := "" for _, cacheRef := range this.web.Cache.CacheRefs { - if !cacheRef.IsOn || - cacheRef.Conds == nil || - !cacheRef.Conds.HasRequestConds() { + if !cacheRef.IsOn { continue } - if cacheRef.Conds.MatchRequest(this.Format) { + if (cacheRef.Conds != nil && cacheRef.Conds.HasRequestConds() && cacheRef.Conds.MatchRequest(this.Format)) || + (cacheRef.SimpleCond != nil && cacheRef.SimpleCond.Match(this.Format)) { if cacheRef.IsReverse { return } @@ -61,12 +60,11 @@ func (this *HTTPRequest) doCacheRead(useStale bool) (shouldStop bool) { if this.cacheRef == nil && !this.web.Cache.DisablePolicyRefs { // 检查策略默认的缓存条件 for _, cacheRef := range cachePolicy.CacheRefs { - if !cacheRef.IsOn || - cacheRef.Conds == nil || - !cacheRef.Conds.HasRequestConds() { + if !cacheRef.IsOn { continue } - if cacheRef.Conds.MatchRequest(this.Format) { + if (cacheRef.Conds != nil && cacheRef.Conds.HasRequestConds() && cacheRef.Conds.MatchRequest(this.Format)) || + (cacheRef.SimpleCond != nil && cacheRef.SimpleCond.Match(this.Format)) { if cacheRef.IsReverse { return }