From: qydysky Date: Thu, 21 Mar 2024 07:49:34 +0000 (+0800) Subject: 1 X-Git-Tag: v0.1.20240321075140 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=6beecae73e46bd56cfcfc8763f2f388b2cfb26c2;p=front%2F.git 1 --- diff --git a/config.go b/config.go index 2df1001..3e4dd6f 100755 --- 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 d3b6d27..b2c3dd8 100644 --- 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 39d1d85..3177068 100644 --- 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 }