[go] net/url: use EscapedPath for url.JoinPath

35 views
Skip to first unread message

Sean Liao (Gerrit)

unread,
Jul 9, 2022, 1:39:35 PM7/9/22
to goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

Sean Liao has uploaded this change for review.

View Change

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.

Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: I08b53f159ebdce7907e8cc17316fd0c982363239
Gerrit-Change-Number: 416774
Gerrit-PatchSet: 1
Gerrit-Owner: Sean Liao <seank...@gmail.com>
Gerrit-MessageType: newchange

Ian Lance Taylor (Gerrit)

unread,
Jul 9, 2022, 1:50:06 PM7/9/22
to Sean Liao, goph...@pubsubhelper.golang.org, Ian Lance Taylor, golang-co...@googlegroups.com

Attention is currently required from: Sean Liao.

Patch set 1:Run-TryBot +1

View Change

    To view, visit change 416774. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: go
    Gerrit-Branch: master
    Gerrit-Change-Id: I08b53f159ebdce7907e8cc17316fd0c982363239
    Gerrit-Change-Number: 416774
    Gerrit-PatchSet: 1
    Gerrit-Owner: Sean Liao <seank...@gmail.com>
    Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
    Gerrit-Attention: Sean Liao <seank...@gmail.com>
    Gerrit-Comment-Date: Sat, 09 Jul 2022 17:50:02 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    Gerrit-MessageType: comment

    Bryan Mills (Gerrit)

    unread,
    Jul 11, 2022, 10:54:12 AM7/11/22
    to Sean Liao, goph...@pubsubhelper.golang.org, Bryan Mills, Gopher Robot, Ian Lance Taylor, golang-co...@googlegroups.com

    Attention is currently required from: Sean Liao.

    Patch set 1:Code-Review +1

    View Change

      To view, visit change 416774. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: go
      Gerrit-Branch: master
      Gerrit-Change-Id: I08b53f159ebdce7907e8cc17316fd0c982363239
      Gerrit-Change-Number: 416774
      Gerrit-PatchSet: 1
      Gerrit-Owner: Sean Liao <seank...@gmail.com>
      Gerrit-Reviewer: Bryan Mills <bcm...@google.com>
      Gerrit-Reviewer: Gopher Robot <go...@golang.org>
      Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
      Gerrit-Attention: Sean Liao <seank...@gmail.com>
      Gerrit-Comment-Date: Mon, 11 Jul 2022 14:54:06 +0000

      Damien Neil (Gerrit)

      unread,
      Jul 11, 2022, 2:08:36 PM7/11/22
      to Sean Liao, goph...@pubsubhelper.golang.org, Bryan Mills, Gopher Robot, Ian Lance Taylor, golang-co...@googlegroups.com

      Attention is currently required from: Sean Liao.

      Patch set 1:Code-Review +2

      View Change

        To view, visit change 416774. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: I08b53f159ebdce7907e8cc17316fd0c982363239
        Gerrit-Change-Number: 416774
        Gerrit-PatchSet: 1
        Gerrit-Owner: Sean Liao <seank...@gmail.com>
        Gerrit-Reviewer: Bryan Mills <bcm...@google.com>
        Gerrit-Reviewer: Damien Neil <dn...@google.com>
        Gerrit-Reviewer: Gopher Robot <go...@golang.org>
        Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
        Gerrit-Attention: Sean Liao <seank...@gmail.com>
        Gerrit-Comment-Date: Mon, 11 Jul 2022 18:08:31 +0000

        Damien Neil (Gerrit)

        unread,
        Jul 11, 2022, 2:09:13 PM7/11/22
        to Sean Liao, goph...@pubsubhelper.golang.org, Bryan Mills, Gopher Robot, Ian Lance Taylor, golang-co...@googlegroups.com

        Attention is currently required from: Sean Liao.

        View Change

        1 comment:

        • Patchset:

          • Patch Set #1:

            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.

        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: I08b53f159ebdce7907e8cc17316fd0c982363239
        Gerrit-Change-Number: 416774
        Gerrit-PatchSet: 1
        Gerrit-Owner: Sean Liao <seank...@gmail.com>
        Gerrit-Reviewer: Bryan Mills <bcm...@google.com>
        Gerrit-Reviewer: Damien Neil <dn...@google.com>
        Gerrit-Reviewer: Gopher Robot <go...@golang.org>
        Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
        Gerrit-Attention: Sean Liao <seank...@gmail.com>
        Gerrit-Comment-Date: Mon, 11 Jul 2022 18:09:09 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Gerrit-MessageType: comment

        Damien Neil (Gerrit)

        unread,
        Jul 11, 2022, 2:09:24 PM7/11/22
        to Sean Liao, goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Bryan Mills, Gopher Robot, Ian Lance Taylor, golang-co...@googlegroups.com

        Damien Neil submitted this change.

        View Change


        Approvals: Bryan Mills: Looks good to me, but someone else must approve Ian Lance Taylor: Run TryBots Gopher Robot: TryBots succeeded Damien Neil: Looks good to me, approved
        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.

        Gerrit-Project: go
        Gerrit-Branch: master
        Gerrit-Change-Id: I08b53f159ebdce7907e8cc17316fd0c982363239
        Gerrit-Change-Number: 416774
        Gerrit-PatchSet: 2
        Gerrit-Owner: Sean Liao <seank...@gmail.com>
        Gerrit-Reviewer: Bryan Mills <bcm...@google.com>
        Gerrit-Reviewer: Damien Neil <dn...@google.com>
        Gerrit-Reviewer: Gopher Robot <go...@golang.org>
        Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
        Gerrit-MessageType: merged
        Reply all
        Reply to author
        Forward
        0 new messages