Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove unnecessary draining the resp.Body #847

Merged
merged 3 commits into from
Mar 5, 2018
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions github/github.go
Original file line number Diff line number Diff line change
Expand Up @@ -478,12 +478,7 @@ func (c *Client) Do(ctx context.Context, req *http.Request, v interface{}) (*Res
return nil, err
}

defer func() {
// Drain up to 512 bytes and close the body to let the Transport reuse the connection
io.CopyN(ioutil.Discard, resp.Body, 512)
resp.Body.Close()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe that we should go back to how this looked prior to the addition of the drain:
e0ff711

Specifically, this should now be:

defer resp.Body.Close()

Note that this is an HTTP client, and its documentation says:

The client must close the response body when finished with it:
...<example elided>...

}()

defer resp.Body.Close()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I would like to see a blank line between the defer and the newResponse... since they aren't closely related.

...and while you're add it, I would like to tightly bind the defer to the c.client.Do above, so if you would like to get rid of the blank line above (line 480), that would be fantastic, IMHO.

Thanks, @diorahman!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah OK. Thanks @gmlewis for the review. I updated it on d285239.

response := newResponse(resp)

c.rateMu.Lock()
Expand Down