From 09c3cfbc208fbd3ee8a06885e7efa53cdd56be7a Mon Sep 17 00:00:00 2001 From: Emmanuel T Odeke Date: Wed, 18 Feb 2026 17:03:37 -0500 Subject: net/url: add (*URL).Clone This change adds URL.Clone which creates a deep copy of the URL's fields including the .User and tests these. In a separate CL I shall send Values.Clone too. Updates #73450 Change-Id: Ifea4bfc4ddd0640247544ec111ec83bd9bbe9104 Reviewed-on: https://go-review.googlesource.com/c/go/+/746800 Reviewed-by: Nicholas Husin Auto-Submit: Emmanuel Odeke Reviewed-by: Damien Neil Reviewed-by: Nicholas Husin LUCI-TryBot-Result: Go LUCI Auto-Submit: Damien Neil --- src/net/http/clone.go | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'src/net/http') diff --git a/src/net/http/clone.go b/src/net/http/clone.go index 0c2daf8552..7ea353a42f 100644 --- a/src/net/http/clone.go +++ b/src/net/http/clone.go @@ -39,16 +39,7 @@ func cloneURLValues(v url.Values) url.Values { // //go:linkname cloneURL func cloneURL(u *url.URL) *url.URL { - if u == nil { - return nil - } - u2 := new(url.URL) - *u2 = *u - if u.User != nil { - u2.User = new(url.Userinfo) - *u2.User = *u.User - } - return u2 + return u.Clone() } // cloneMultipartForm should be an internal detail, -- cgit v1.3