added url path rewrite for forwarder node

This commit is contained in:
ginuerzh
2024-01-31 23:18:42 +08:00
parent 3d2a7b7d3b
commit 25dcf536c6
6 changed files with 39 additions and 6 deletions

View File

@ -266,6 +266,15 @@ func (h *forwardHandler) handleHTTP(ctx context.Context, rw io.ReadWriter, remot
for k, v := range httpSettings.Header {
req.Header.Set(k, v)
}
for _, re := range httpSettings.Rewrite {
if re.Pattern.MatchString(req.URL.Path) {
if s := re.Pattern.ReplaceAllString(req.URL.Path, re.Replacement); s != "" {
req.URL.Path = s
break
}
}
}
}
cc, err = h.router.Dial(ctx, "tcp", target.Addr)

View File

@ -266,6 +266,15 @@ func (h *forwardHandler) handleHTTP(ctx context.Context, rw io.ReadWriter, remot
for k, v := range httpSettings.Header {
req.Header.Set(k, v)
}
for _, re := range httpSettings.Rewrite {
if re.Pattern.MatchString(req.URL.Path) {
if s := re.Pattern.ReplaceAllString(req.URL.Path, re.Replacement); s != "" {
req.URL.Path = s
break
}
}
}
}
cc, err = h.router.Dial(ctx, "tcp", target.Addr)