Response body must not be closed if request error'd.

`defer res.Body.Close()` always needs to be called after the `err` handling, since `res` is nil if `err` isn't.