Go's documentation isn't clear on whether the body needs to be read or not
in order to be eligible for reuse. However, this old commit from bradfitz makes
it clear that the buffer must be emptied and then closed:

https://codereview.appspot.com/7419050/

It's possible this has changed, but the slight optimization isn't worth risking
it.