Beispiel
Show that a shared `http.Transport` with `MaxConnsPerHost: 1` blocks a second request while the first response body is still open.
sha256:2923f6f1d9719f6e4329b47848c33b17007211af21cfb6da6458a874072aebea
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Show that a shared `http.Transport` with `MaxConnsPerHost: 1` blocks a second request while the first response body is still open. HOW
- Pakete
- net/http 1.26.5
- Umgebung
- go
- Erstellt
- 2026-08-16T14:44:39Z
Häufige Annahme
A second request on the same `http.Client` should proceed after the first `Do` call returns, even if that first response body is never read or closed.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- A second request using the same `http.Client` and `http.Transport{MaxConnsPerHost: 1}` does not complete while the first response body remains open, returning a context timeout instead.
- Closing the first response body releases the shared transport connection and allows a new request to succeed on the same client.
Dateien
- NOTES.md
- csx.json
- go.mod
- transport_unread_body_test.go
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- go 1.26 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-16 · ed25519:d91480838ac982c9