From: qydysky Date: Sun, 10 Mar 2024 03:23:57 +0000 (+0800) Subject: 1 X-Git-Tag: v0.1.20240310032420 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=0023b1e7a9cb3f87491b40b37dcd60379b787b45;p=front%2F.git 1 --- diff --git a/main.go b/main.go index 5f0e1d0..bfa54a5 100755 --- a/main.go +++ b/main.go @@ -134,22 +134,22 @@ func copyHeader(s, t http.Header, app []Header) error { for _, v := range app { switch v.Action { case `deny`: - if va, ok := tm[v.Key]; ok && len(va) != 0 { - if exp, e := regexp.Compile(v.MatchExp); e == nil && exp.MatchString(va[0]) { + if va := t.Get(v.Key); va != "" { + if exp, e := regexp.Compile(v.MatchExp); e == nil && exp.MatchString(va) { return ErrHeaderCheckFail } } case `access`: - if va, ok := tm[v.Key]; ok && len(va) != 0 { - if exp, e := regexp.Compile(v.MatchExp); e != nil || !exp.MatchString(va[0]) { + if va := t.Get(v.Key); va != "" { + if exp, e := regexp.Compile(v.MatchExp); e != nil || !exp.MatchString(va) { return ErrHeaderCheckFail } } else { return ErrHeaderCheckFail } case `replace`: - if va, ok := tm[v.Key]; ok && len(va) != 0 { - tm[v.Key][0] = regexp.MustCompile(v.MatchExp).ReplaceAllString(va[0], v.Value) + if va := t.Get(v.Key); va != "" { + t.Set(v.Key, regexp.MustCompile(v.MatchExp).ReplaceAllString(va, v.Value)) } case `set`: t.Set(v.Key, v.Value)