From f45f3fba79bd59be98fdbe621232a97464147f84 Mon Sep 17 00:00:00 2001 From: yusing Date: Fri, 16 May 2025 20:14:03 +0800 Subject: [PATCH] refactor: logic refactor for setting xff header --- .../net/gphttp/reverseproxy/reverse_proxy_mod.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/net/gphttp/reverseproxy/reverse_proxy_mod.go b/internal/net/gphttp/reverseproxy/reverse_proxy_mod.go index 129c19a..a28d871 100644 --- a/internal/net/gphttp/reverseproxy/reverse_proxy_mod.go +++ b/internal/net/gphttp/reverseproxy/reverse_proxy_mod.go @@ -301,14 +301,14 @@ func (p *ReverseProxy) handler(rw http.ResponseWriter, req *http.Request) { prior, ok := outreq.Header[httpheaders.HeaderXForwardedFor] omit := ok && prior == nil // Issue 38079: nil now means don't populate the header - xff, _, err := net.SplitHostPort(req.RemoteAddr) - if err != nil { - xff = req.RemoteAddr - } - if len(prior) > 0 { - xff = strings.Join(prior, ", ") + ", " + xff - } if !omit { + xff, _, err := net.SplitHostPort(req.RemoteAddr) + if err != nil { + xff = req.RemoteAddr + } + if len(prior) > 0 { + xff = strings.Join(prior, ", ") + ", " + xff + } outreq.Header.Set(httpheaders.HeaderXForwardedFor, xff) }