ionrock/cachecontrol — pull request #37 by damz (2014-08-21 15:56:29+00:00)
Title: Properly release the connection to the pool on 304

When successfully doing a validation request, `cachecontrol` doesn't release the connection back to the urllib3 connection pool. As a consequence, the pool will wastefully start a new connection at the next request, and the existing connection will only be closed on garbage collection.

To handle this properly, two things need to happen:

* We need to consume and discard the body of the response (even if 403 responses are supposed not to have one, you cannot prevent a server from sending one);
* We need to call `response.release_conn()`.

This is very similar (but lower-level) as what requests itself does [when retrying after a 401](https://github.com/kennethreitz/requests/blob/master/requests/auth.py#L169).