]> 127.0.0.1 Git - front/.git/commitdiff
1 v0.1.20240321075140
authorqydysky <qydysky@foxmail.com>
Thu, 21 Mar 2024 07:49:34 +0000 (15:49 +0800)
committerqydysky <qydysky@foxmail.com>
Thu, 21 Mar 2024 07:49:34 +0000 (15:49 +0800)
config.go
http.go
ws.go

index 2df1001a3451f92e7d41a228a029d52740bbe28c..3e4dd6f41cd401e3751e63905d36ac39c62ad343 100755 (executable)
--- a/config.go
+++ b/config.go
@@ -336,6 +336,12 @@ func (t *Back) getFiliterResHeader() *filiter.Header {
                return &t.Filiter.ResHeader
        }
 }
+func (t *Back) getDealerReqHeader() []dealer.HeaderDealer {
+       return append(t.route.Dealer.ReqHeader, t.Dealer.ReqHeader...)
+}
+func (t *Back) getDealerResHeader() []dealer.HeaderDealer {
+       return append(t.route.Dealer.ResHeader, t.Dealer.ResHeader...)
+}
 
 func (t *Back) Id() string {
        return fmt.Sprintf("%p", t)
diff --git a/http.go b/http.go
index d3b6d27f2a0798df46a7a0d350db4657659e3570..b2c3dd821755e770e292c259ff86e44a6fdd2e14 100644 (file)
--- a/http.go
+++ b/http.go
@@ -41,7 +41,7 @@ func httpDealer(ctx context.Context, w http.ResponseWriter, r *http.Request, rou
                        return ErrReqCreFail
                }
 
-               if e := copyHeader(r.Header, req.Header, chosenBack.Setting.Dealer.ReqHeader); e != nil {
+               if e := copyHeader(r.Header, req.Header, chosenBack.getDealerReqHeader()); e != nil {
                        logger.Warn(`W:`, fmt.Sprintf(logFormat, chosenBack.route.config.Addr, routePath, chosenBack.Name, "BLOCK", e, time.Since(opT)))
                        return ErrDealReqHeader
                }
@@ -101,7 +101,7 @@ func httpDealer(ctx context.Context, w http.ResponseWriter, r *http.Request, rou
 
        w.Header().Add(header+"Info", cookie+";"+chosenBack.Name)
 
-       if e := copyHeader(resp.Header, w.Header(), chosenBack.Setting.Dealer.ResHeader); e != nil {
+       if e := copyHeader(resp.Header, w.Header(), chosenBack.getDealerResHeader()); e != nil {
                logger.Warn(`W:`, fmt.Sprintf(logFormat, chosenBack.route.config.Addr, routePath, chosenBack.Name, "BLOCK", e, time.Since(opT)))
                return ErrDealResHeader
        }
diff --git a/ws.go b/ws.go
index 39d1d852fd50e5641b479438cbfb13b0fc74991c..3177068743975d90680010d735979a0e959ad142 100644 (file)
--- a/ws.go
+++ b/ws.go
@@ -49,7 +49,7 @@ func wsDealer(ctx context.Context, w http.ResponseWriter, r *http.Request, route
 
                reqHeader := make(http.Header)
 
-               if e := copyHeader(r.Header, reqHeader, chosenBack.Setting.Dealer.ReqHeader); e != nil {
+               if e := copyHeader(r.Header, reqHeader, chosenBack.getDealerReqHeader()); e != nil {
                        logger.Warn(`W:`, fmt.Sprintf(errFormat, chosenBack.route.config.Addr, routePath, chosenBack.Name, e, time.Since(opT)))
                        return ErrDealReqHeader
                }
@@ -114,7 +114,7 @@ func wsDealer(ctx context.Context, w http.ResponseWriter, r *http.Request, route
        defer conn.Close()
 
        resHeader := make(http.Header)
-       if e := copyHeader(resp.Header, resHeader, chosenBack.Setting.Dealer.ResHeader); e != nil {
+       if e := copyHeader(resp.Header, resHeader, chosenBack.getDealerResHeader()); e != nil {
                logger.Warn(`W:`, fmt.Sprintf(errFormat, chosenBack.route.config.Addr, routePath, chosenBack.Name, e, time.Since(opT)))
                return ErrDealResHeader
        }