Sean Liao has uploaded this change for review.
net/url: use EscapedPath for url.JoinPath
Fixes #53763
Change-Id: I08b53f159ebdce7907e8cc17316fd0c982363239
---
M src/net/url/url.go
M src/net/url/url_test.go
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/src/net/url/url.go b/src/net/url/url.go
index db4d638..e82ae6a 100644
--- a/src/net/url/url.go
+++ b/src/net/url/url.go
@@ -1193,7 +1193,7 @@
func (u *URL) JoinPath(elem ...string) *URL {
url := *u
if len(elem) > 0 {
- elem = append([]string{u.Path}, elem...)
+ elem = append([]string{u.EscapedPath()}, elem...)
p := path.Join(elem...)
// path.Join will remove any trailing slashes.
// Preserve at least one.
diff --git a/src/net/url/url_test.go b/src/net/url/url_test.go
index 478cc34..263eddf 100644
--- a/src/net/url/url_test.go
+++ b/src/net/url/url_test.go
@@ -2120,6 +2120,16 @@
out: "https://go.googlesource.com/",
},
{
+ base: "https://go.googlesource.com/a%2fb",
+ elem: []string{"c"},
+ out: "https://go.googlesource.com/a%2fb/c",
+ },
+ {
+ base: "https://go.googlesource.com/a%2fb",
+ elem: []string{"c%2fd"},
+ out: "https://go.googlesource.com/a%2fb/c%2fd",
+ },
+ {
base: "/",
elem: nil,
out: "/",
To view, visit change 416774. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Sean Liao.
Patch set 1:Run-TryBot +1
Attention is currently required from: Sean Liao.
Patch set 1:Code-Review +1
Attention is currently required from: Sean Liao.
Patch set 1:Code-Review +2
Attention is currently required from: Sean Liao.
1 comment:
Patchset:
Thanks for the fix! I agree that it makes sense for JoinPath to operate on the escaped path.
To view, visit change 416774. To unsubscribe, or for help writing mail filters, visit settings.
Damien Neil submitted this change.
net/url: use EscapedPath for url.JoinPath
Fixes #53763
Change-Id: I08b53f159ebdce7907e8cc17316fd0c982363239
Reviewed-on: https://go-review.googlesource.com/c/go/+/416774
TryBot-Result: Gopher Robot <go...@golang.org>
Reviewed-by: Damien Neil <dn...@google.com>
Reviewed-by: Bryan Mills <bcm...@google.com>
Run-TryBot: Ian Lance Taylor <ia...@golang.org>
---
M src/net/url/url.go
M src/net/url/url_test.go
2 files changed, 27 insertions(+), 1 deletion(-)
To view, visit change 416774. To unsubscribe, or for help writing mail filters, visit settings.