]> 127.0.0.1 Git - front/.git/commitdiff
1 v0.1.20240310032420
authorqydysky <qydysky@foxmail.com>
Sun, 10 Mar 2024 03:23:57 +0000 (11:23 +0800)
committerqydysky <qydysky@foxmail.com>
Sun, 10 Mar 2024 03:23:57 +0000 (11:23 +0800)
main.go

diff --git a/main.go b/main.go
index 5f0e1d00805d4d16c1282ce36f7cc4d0e491f07f..bfa54a5fdffc1441b77c8eed166307a647419f93 100755 (executable)
--- 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)