From 9d277b8562abd0ba0b3907de321afdbcaf6b95de Mon Sep 17 00:00:00 2001 From: qydysky Date: Fri, 22 Nov 2024 07:05:11 +0000 Subject: [PATCH] 1 --- config.go | 18 +++++++++--------- http.go | 4 ++-- ws.go | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/config.go b/config.go index 1b91887..7789f6e 100755 --- a/config.go +++ b/config.go @@ -174,20 +174,20 @@ func (t *Config) SwapSign(ctx context.Context, logger Logger) { { if t, e := r.Cookie("_psign_" + cookie); e == nil { if backP, aok := route.backMap.Load(t.Value); aok { + var filiter = func(b *Back) (error, bool) { + if ok, e := b.getFiliterReqUri().Match(r); e != nil || !ok { + return e, ok + } - if ok, e := backP.(*Back).getFiliterReqUri().Match(r); e != nil { - logger.Warn(`W:`, fmt.Sprintf(logFormat, r.RemoteAddr, route.config.Addr, routePath, "Err", e)) - } else if ok { - aok = false + if ok, e := b.getFiliterReqHeader().Match(r.Header); e != nil || !ok { + return e, ok + } + return nil, true } - if ok, e := backP.(*Back).getFiliterReqHeader().Match(r.Header); e != nil { + if e, ok := filiter(); e != nil { logger.Warn(`W:`, fmt.Sprintf(logFormat, r.RemoteAddr, route.config.Addr, routePath, "Err", e)) } else if ok { - aok = false - } - - if aok { for i := uint(0); i < backP.(*Back).Weight; i++ { backIs = append(backIs, backP.(*Back)) } diff --git a/http.go b/http.go index dcbca5e..8927edb 100644 --- a/http.go +++ b/http.go @@ -133,10 +133,10 @@ func (httpDealer) Deal(ctx context.Context, w http.ResponseWriter, r *http.Reque if utils.ValidCookieDomain(r.Host) { cookie.Domain = r.Host } - w.Header().Add("Set-Cookie", (cookie).String()) + w.Header().Set("Set-Cookie", (cookie).String()) } - w.Header().Add(header+"Info", cookie+";"+chosenBack.Name) + w.Header().Set(header+"Info", cookie+";"+chosenBack.Name) // if e := copyHeader(resp.Header, w.Header(), chosenBack.getDealerResHeader()) diff --git a/ws.go b/ws.go index 3880192..903925b 100644 --- a/ws.go +++ b/ws.go @@ -115,10 +115,10 @@ func (wsDealer) Deal(ctx context.Context, w http.ResponseWriter, r *http.Request if utils.ValidCookieDomain(r.Host) { cookie.Domain = r.Host } - w.Header().Add("Set-Cookie", (cookie).String()) + w.Header().Set("Set-Cookie", (cookie).String()) } - w.Header().Add(header+"Info", cookie+";"+chosenBack.Name) + w.Header().Set(header+"Info", cookie+";"+chosenBack.Name) defer conn.Close() -- 2.39.2