Skip to content

Commit

Permalink
Http: do not use escaped Query, because it will break templating (#14146
Browse files Browse the repository at this point in the history
)
  • Loading branch information
pmec committed Jun 1, 2024
1 parent 4b2d7df commit 4f88806
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
4 changes: 3 additions & 1 deletion util/net.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ func DefaultScheme(uri, scheme string) string {
}
}

return u.String()
// do not use escaped Query, because it will break templating
res, _ := url.QueryUnescape(u.String())
return res
}

// LocalIPs returns a slice of local IPv4 addresses
Expand Down
12 changes: 6 additions & 6 deletions util/net_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,23 @@ func TestDefaultPort(t *testing.T) {
}

func TestDefaultScheme(t *testing.T) {
expect := "http://localhost"
expect := "http://localhost/a={{b}}?a={{b}}"

if uri := DefaultScheme("localhost", "http"); uri != expect {
if uri := DefaultScheme("localhost/a={{b}}?a={{b}}", "http"); uri != expect {
t.Errorf("expected %s, got %s", expect, uri)
}

if uri := DefaultScheme("http://localhost", "http"); uri != expect {
if uri := DefaultScheme("http://localhost/a={{b}}?a={{b}}", "http"); uri != expect {
t.Errorf("expected %s, got %s", expect, uri)
}

if uri := DefaultScheme("http://localhost", "https"); uri != expect {
if uri := DefaultScheme("http://localhost/a={{b}}?a={{b}}", "https"); uri != expect {
t.Errorf("expected %s, got %s", expect, uri)
}

expect = "ws://localhost:8080"
expect = "ws://localhost:8080/a={{b}}?a={{b}}"

if uri := DefaultScheme("localhost:8080", "ws"); uri != expect {
if uri := DefaultScheme("localhost:8080/a={{b}}?a={{b}}", "ws"); uri != expect {
t.Errorf("expected %s, got %s", expect, uri)
}
}
Expand Down

0 comments on commit 4f88806

Please sign in to comment.