From: Bobby Powers Date: Fri, 8 Apr 2022 19:21:33 +0000 (-0700) Subject: net/http: remove cloneURL call in WithContext X-Git-Tag: go1.19beta1~658 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2c73f5f32fceb31b5da7f9a820c0c637f57a9ab5;p=gostls13.git 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 TryBot-Result: Gopher Robot Reviewed-by: Damien Neil Run-TryBot: Damien Neil Reviewed-by: Ian Lance Taylor --- diff --git a/src/net/http/request.go b/src/net/http/request.go index 654505d819..312211977d 100644 --- a/src/net/http/request.go +++ b/src/net/http/request.go @@ -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 } diff --git a/src/net/http/request_test.go b/src/net/http/request_test.go index 4363e11033..d285840c1c 100644 --- a/src/net/http/request_test.go +++ b/src/net/http/request_test.go @@ -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") }