The problem is here: https://github.com/puppetlabs/puppet/blob/6b400f35193e5d6871fd679d6ad49776d1cb6072/lib/puppet/http/client.rb#L380-L404 Note we finish/close the http connection and then later call drain on the response, which tries to fully read the http response.