From 57d712a4d478aaba0821b1da8bdbf0a4c5fd9efc Mon Sep 17 00:00:00 2001 From: ghosx Date: Fri, 24 Nov 2023 08:51:49 +0800 Subject: [PATCH] fix: unexpected path in httpugprade (#2773) --- transport/internet/httpupgrade/config.go | 12 ++++++++++++ transport/internet/httpupgrade/dialer.go | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 transport/internet/httpupgrade/config.go diff --git a/transport/internet/httpupgrade/config.go b/transport/internet/httpupgrade/config.go new file mode 100644 index 000000000..21841bfdd --- /dev/null +++ b/transport/internet/httpupgrade/config.go @@ -0,0 +1,12 @@ +package httpupgrade + +func (c *Config) GetNormalizedPath() string { + path := c.Path + if path == "" { + return "/" + } + if path[0] != '/' { + return "/" + path + } + return path +} diff --git a/transport/internet/httpupgrade/dialer.go b/transport/internet/httpupgrade/dialer.go index 493dd426e..4e8e5b551 100644 --- a/transport/internet/httpupgrade/dialer.go +++ b/transport/internet/httpupgrade/dialer.go @@ -20,7 +20,7 @@ func dialhttpUpgrade(ctx context.Context, dest net.Destination, streamSettings * if err != nil { return nil, newError("failed to dial request to ", dest).Base(err) } - req, err := http.NewRequest("GET", "/"+transportConfiguration.Path, nil) + req, err := http.NewRequest("GET", transportConfiguration.GetNormalizedPath(), nil) if err != nil { return nil, err }