diff --git a/client/client.go b/client/client.go index c56a4b2df..054b14c87 100644 --- a/client/client.go +++ b/client/client.go @@ -392,11 +392,9 @@ func (c *simpleHTTPClient) Do(ctx context.Context, act httpAction) (*http.Respon select { case <-ctx.Done(): - err = resp.Body.Close() + resp.Body.Close() <-done - if err == nil { - err = ctx.Err() - } + return nil, nil, ctx.Err() case <-done: } diff --git a/client/client_test.go b/client/client_test.go index 301a40dc5..de9184ce9 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -257,8 +257,8 @@ func TestSimpleHTTPClientDoCancelContextResponseBodyClosedWithBlockingBody(t *te }() _, _, err := c.Do(ctx, &fakeAction{}) - if err == nil { - t.Fatalf("expected non-nil error, got nil") + if err != context.Canceled { + t.Fatalf("expected %+v, got %+v", context.Canceled, err) } if !body.closed {