1
0
mirror of https://github.com/golang/go synced 2024-09-30 13:18:34 -06:00

cmd/go/internal/modfetch: avoid path.Join in URL errors

path.Join collapses duplicated '/' tokens, but an HTTP URL
intentionally includes a '://' after the scheme.

This should fix the syntax of the errors seen in
https://build.golang.org/log/a17d0c7b6159ea4dad0a9e5378ab5a36ee30ce44.

Updates #52727.

Change-Id: I6e1773a7eb8b3e7e2b3ca29540c1e94a7cd2d99d
Reviewed-on: https://go-review.googlesource.com/c/go/+/461682
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
This commit is contained in:
Bryan C. Mills 2023-01-13 16:43:41 -05:00 committed by Gopher Robot
parent a106defdda
commit c8c646d31b

View File

@ -262,7 +262,7 @@ func (p *proxyRepo) getBytes(path string) ([]byte, error) {
if err != nil {
// net/http doesn't add context to Body errors, so add it here.
// (See https://go.dev/issue/52727.)
return b, &url.Error{Op: "read", URL: pathpkg.Join(p.redactedURL, path), Err: err}
return b, &url.Error{Op: "read", URL: strings.TrimSuffix(p.redactedURL, "/") + "/" + path, Err: err}
}
return b, nil
}