<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go/src/net/http/client_test.go, branch main</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=main</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2026-04-10T21:18:34Z</updated>
<entry>
<title>net/http: run tests for HTTP/3 where it can already pass</title>
<updated>2026-04-10T21:18:34Z</updated>
<author>
<name>Nicholas S. Husin</name>
<email>nsh@golang.org</email>
</author>
<published>2026-03-30T23:17:03Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=ccf4ba99a90f6f1366daef776ae90187c9f3c6b1'/>
<id>urn:sha1:ccf4ba99a90f6f1366daef776ae90187c9f3c6b1</id>
<content type='text'>
By default, our test harnesses (run and runSynctest) now use http3Mode,
in addition to http1Mode and http2Mode, when no []testMode were
explicitly defined for a given test.

Tests that cannot currently pass for HTTP/3 have been modified to use
http3SkippedMode, which serves as a convenient alias for the old default
of []testMode{http1Mode, http2Mode}.

We changed the default mode and defined http3SkippedMode so we have a
clear list of TODOs in terms of how much changes are still needed before
our HTTP/3 implementation reaches basic feature parity with HTTP/1 and
HTTP/2.

For #70914

Change-Id: I719d5d66399a51f7c3d96180ebed9b606a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/765320
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Nicholas Husin &lt;husin@google.com&gt;
</content>
</entry>
<entry>
<title>net/http: fix data race in TestClientRedirectUseResponse</title>
<updated>2026-04-10T21:18:22Z</updated>
<author>
<name>Nicholas S. Husin</name>
<email>nsh@golang.org</email>
</author>
<published>2026-04-10T17:48:35Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=6299ca285a0a6bf7d2b1bfbb03b6c3288b846bdf'/>
<id>urn:sha1:6299ca285a0a6bf7d2b1bfbb03b6c3288b846bdf</id>
<content type='text'>
There is a data race between the assignment of ts, and the access of
ts.URL in the server handler. The data race seems to be more common when
running the test against our HTTP/3 implementation.

Fix the issue by deriving ts.URL via the given Request in the server
handler.

For #70914

Change-Id: Ic1924bf2c814517bae6b2e999d5f7efa6a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/765443
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Nicholas Husin &lt;husin@google.com&gt;
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
</content>
</entry>
<entry>
<title>net/http: use net/http/internal/http2 rather than h2_bundle.go</title>
<updated>2026-03-12T15:13:20Z</updated>
<author>
<name>Damien Neil</name>
<email>dneil@google.com</email>
</author>
<published>2026-03-03T16:12:25Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=080aa8e9647e5211650f34f3a93fb493afbe396d'/>
<id>urn:sha1:080aa8e9647e5211650f34f3a93fb493afbe396d</id>
<content type='text'>
Rework net/http/internal/http2 to use internally-defined types
rather than net/http types (to avoid an import cycle).

Remove h2_bundle.go, and replace it with calls into
net/http/internal/http2 instead.

For #67810

Change-Id: I56a1b28dbd0e302ab15a30f819dd46256a6a6964
Reviewed-on: https://go-review.googlesource.com/c/go/+/751304
Reviewed-by: Nicholas Husin &lt;nsh@golang.org&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Auto-Submit: Damien Neil &lt;dneil@google.com&gt;
Reviewed-by: Nicholas Husin &lt;husin@google.com&gt;
</content>
</entry>
<entry>
<title>net/http: fix WaitGroup race in TestTransportNoReuseAfterEarlyResponse</title>
<updated>2026-02-06T22:53:30Z</updated>
<author>
<name>Dmitri Shuralyov</name>
<email>dmitshur@golang.org</email>
</author>
<published>2026-01-24T18:03:14Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=cbb37e310e2edd7148c8501567e190746e6d98d2'/>
<id>urn:sha1:cbb37e310e2edd7148c8501567e190746e6d98d2</id>
<content type='text'>
The remaining race reported in go.dev/issue/66519 is that it's possible
for copying.Wait to start running before all copying.Add calls complete.
It happens infrequently as is, but padding both Wait and Add calls with
a 100 ms sleep makes it highly reproducible.

Arranging the Add call to happen before responding "foo" to the POST
request should be enough to guarantee that Wait doesn't start running
until all Add calls have already happened.

While here, delete a blank line that gets more in the way of reading
error handling code than it helps.

For #64252.
Fixes #66519 (optimistically).

Change-Id: Ibf264d8cc5ffc2495e8ae8e66a15591310c65e71
Reviewed-on: https://go-review.googlesource.com/c/go/+/739060
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
Auto-Submit: Dmitri Shuralyov &lt;dmitshur@golang.org&gt;
</content>
</entry>
<entry>
<title>net/http: strip request body headers on POST to GET redirects</title>
<updated>2025-10-10T21:39:53Z</updated>
<author>
<name>Sean Liao</name>
<email>sean@liao.dev</email>
</author>
<published>2025-10-09T01:26:02Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=aced4c79a2b2c60e464410cec1e5378d1011fa18'/>
<id>urn:sha1:aced4c79a2b2c60e464410cec1e5378d1011fa18</id>
<content type='text'>
According to WHATWG Fetch, when the body is dropped in a redirect,
headers that describe the body should also be dropped.
https://fetch.spec.whatwg.org/#http-redirect-fetch

Fixes #57273

Change-Id: I84598f69608e95c1b556ea0ce5953ed43bf2d824
Reviewed-on: https://go-review.googlesource.com/c/go/+/710395
Auto-Submit: Damien Neil &lt;dneil@google.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>net/http: set cookie host to Request.Host when available</title>
<updated>2025-10-10T21:38:20Z</updated>
<author>
<name>Sean Liao</name>
<email>sean@liao.dev</email>
</author>
<published>2025-10-08T21:33:24Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=69e82796322bbff60b522534a8a6eacb2bf1ebba'/>
<id>urn:sha1:69e82796322bbff60b522534a8a6eacb2bf1ebba</id>
<content type='text'>
When both Request.URL and Request.Host are set, the host in URL
is used for connecting at the transport level, while Host is used
for the request host line. Cookies should be set for the request,
not the underlying connection destination.

Fixes #38988

Change-Id: I09053b87ccac67081f6038d205837d9763701526
Reviewed-on: https://go-review.googlesource.com/c/go/+/710335
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
Auto-Submit: Damien Neil &lt;dneil@google.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>all: delete more windows/arm remnants</title>
<updated>2025-08-29T17:57:46Z</updated>
<author>
<name>Tobias Klauser</name>
<email>tklauser@distanz.ch</email>
</author>
<published>2025-08-26T12:25:49Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=1d459c4357e51e593ade896055db0fc794776143'/>
<id>urn:sha1:1d459c4357e51e593ade896055db0fc794776143</id>
<content type='text'>
Updates #71671

Change-Id: I663c4a659ad45bcebfc03d6eb4783e5f5d3afa0d
Reviewed-on: https://go-review.googlesource.com/c/go/+/699176
Auto-Submit: Tobias Klauser &lt;tobias.klauser@gmail.com&gt;
Reviewed-by: Quim Muntal &lt;quimmuntal@gmail.com&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
Reviewed-by: Carlos Amedee &lt;carlos@golang.org&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>net/http: strip sensitive proxy headers from redirect requests</title>
<updated>2025-06-05T18:44:48Z</updated>
<author>
<name>Neal Patel</name>
<email>nealpatel@google.com</email>
</author>
<published>2025-05-21T18:11:44Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=4d1c255f159d90557b43ede07f8b9a209e1fb49c'/>
<id>urn:sha1:4d1c255f159d90557b43ede07f8b9a209e1fb49c</id>
<content type='text'>
Similarly to Authentication entries, Proxy-Authentication entries should be stripped to ensure sensitive information is not leaked on redirects outside of the original domain.

https://fetch.spec.whatwg.org/#authentication-entries

Thanks to Takeshi Kaneko (GMO Cybersecurity by Ierae, Inc.) for reporting this issue.

For #73816
Fixes CVE-2025-4673

Change-Id: Ied7b641f6531f1d340ccba3c636d3c30dd5547d9
Reviewed-on: https://go-review.googlesource.com/c/go/+/679257
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
</content>
</entry>
<entry>
<title>net/http: upon http redirect, copy Request.GetBody in new request</title>
<updated>2025-05-20T15:40:50Z</updated>
<author>
<name>Marc-Antoine Ruel</name>
<email>maruel@gmail.com</email>
</author>
<published>2025-04-18T17:48:04Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=b69f50faef360beedd408048d19909c85a2e0de0'/>
<id>urn:sha1:b69f50faef360beedd408048d19909c85a2e0de0</id>
<content type='text'>
This enable http.RoundTripper implementation to retry POST request (let's
say after a 500) after a 307/308 redirect.

Fixes #73439

Change-Id: I4365ff58b012c7f0d60e0317a08c98b1d48f657e
Reviewed-on: https://go-review.googlesource.com/c/go/+/666735
Reviewed-by: Sean Liao &lt;sean@liao.dev&gt;
Auto-Submit: Damien Neil &lt;dneil@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
Reviewed-by: Damien Neil &lt;dneil@google.com&gt;
</content>
</entry>
<entry>
<title>net/http: test intended behavior in TestClientInsecureTransport</title>
<updated>2025-04-15T22:55:28Z</updated>
<author>
<name>Damien Neil</name>
<email>dneil@google.com</email>
</author>
<published>2025-03-07T01:33:27Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=2869d55366a55d6a29a166523ac2383d0b2291df'/>
<id>urn:sha1:2869d55366a55d6a29a166523ac2383d0b2291df</id>
<content type='text'>
This test wasn't testing the HTTP/2 case, because it didn't
set NextProtos in the tls.Config.

Set "Connection: close" on requests to make sure each request
gets a new connection.

Change-Id: I1ef470e7433a602ce88da7bd7eeec502687ea857
Reviewed-on: https://go-review.googlesource.com/c/go/+/655676
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Sean Liao &lt;sean@liao.dev&gt;
Auto-Submit: Damien Neil &lt;dneil@google.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
</feed>
