From: Sean Liao Date: Sun, 16 Nov 2025 00:45:28 +0000 (+0000) Subject: net/http: update Response.Request.URL after redirects on GOOS=js X-Git-Tag: go1.26rc1~188 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=87269224cb3609a967b821c89f5a920864969a10;p=gostls13.git net/http: update Response.Request.URL after redirects on GOOS=js Fixes #71346 Change-Id: Id4053626e621faf50bb88a10ca0d540f393c8e01 Reviewed-on: https://go-review.googlesource.com/c/go/+/720860 Reviewed-by: Damien Neil LUCI-TryBot-Result: Go LUCI Reviewed-by: Mark Freeman --- diff --git a/src/net/http/roundtrip_js.go b/src/net/http/roundtrip_js.go index 7ae94617bc..d3757510ed 100644 --- a/src/net/http/roundtrip_js.go +++ b/src/net/http/roundtrip_js.go @@ -11,6 +11,7 @@ import ( "fmt" "io" "net/http/internal/ascii" + "net/url" "strconv" "strings" "syscall/js" @@ -195,6 +196,13 @@ func (t *Transport) RoundTrip(req *Request) (*Response, error) { uncompressed = true } + if result.Get("redirected").Bool() { + u, err := url.Parse(result.Get("url").String()) + if err == nil { + req = req.Clone(req.ctx) + req.URL = u + } + } respCh <- &Response{ Status: fmt.Sprintf("%d %s", code, StatusText(code)), StatusCode: code,