Ensure that errors are reported if an HTTP request unexpectedly fails.
For #56587
Change-Id: I1adfb4fedc24d4177caf54e34c5033267e32caa6
Reviewed-on: https://go-review.googlesource.com/c/go/+/486075
Reviewed-by: Bryan Mills <bcmills@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Damien Neil <dneil@google.com>
Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com>
})
req, _ := NewRequestWithContext(ctx, "GET", ts.URL, nil)
res, err := client.Do(req)
- reqerrc <- err
- if err == nil {
+ if err != nil {
+ reqerrc <- err
+ } else {
res.Body.Close()
}
}()
// Wait for the first request to receive a response and return the
// connection to the idle pool.
- r1c := <-reqc
- close(r1c)
+ select {
+ case err := <-reqerrc:
+ t.Fatalf("request 1: got err %v, want nil", err)
+ case r1c := <-reqc:
+ close(r1c)
+ }
var idlec chan struct{}
select {
case err := <-reqerrc:
- if err != nil {
- t.Fatalf("request 1: got err %v, want nil", err)
- }
- idlec = <-putidlec
+ t.Fatalf("request 1: got err %v, want nil", err)
case idlec = <-putidlec:
}