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:
parent
35a92f92bd
commit
2c73f5f32f
@ -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
|
||||
}
|
||||
|
||||
|
@ -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")
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user