1
0
mirror of https://github.com/golang/go synced 2024-11-17 02:04:48 -07:00

net/http: remove cloneURL call in WithContext

Fixes #52239

Change-Id: I08b75e613e3c976855e39d01a6757d94e4207bf8
Reviewed-on: https://go-review.googlesource.com/c/go/+/399155
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
This commit is contained in:
Bobby Powers 2022-04-08 12:21:33 -07:00 committed by Damien Neil
parent 35a92f92bd
commit 2c73f5f32f
2 changed files with 3 additions and 12 deletions

View File

@ -359,7 +359,6 @@ func (r *Request) WithContext(ctx context.Context) *Request {
r2 := new(Request)
*r2 = *r
r2.ctx = ctx
r2.URL = cloneURL(r.URL) // legacy behavior; TODO: try to remove. Issue 23544
return r2
}

View File

@ -998,23 +998,15 @@ func TestMaxBytesReaderDifferentLimits(t *testing.T) {
}
}
func TestWithContextDeepCopiesURL(t *testing.T) {
func TestWithContextNilURL(t *testing.T) {
req, err := NewRequest("POST", "https://golang.org/", nil)
if err != nil {
t.Fatal(err)
}
reqCopy := req.WithContext(context.Background())
reqCopy.URL.Scheme = "http"
firstURL, secondURL := req.URL.String(), reqCopy.URL.String()
if firstURL == secondURL {
t.Errorf("unexpected change to original request's URL")
}
// And also check we don't crash on nil (Issue 20601)
// Issue 20601
req.URL = nil
reqCopy = req.WithContext(context.Background())
reqCopy := req.WithContext(context.Background())
if reqCopy.URL != nil {
t.Error("expected nil URL in cloned request")
}