Use upstream net-http-persistent, connection_pool (un-vendored)
#345
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
net-http-persistentandconnection_poolwere vendored, and have gotten very out-of-date. This resets to use the upstream gems.connection-poolis upgraded from 2.2.0 to 2.4+:net-http-persistentis upgraded from 3.0.0 (forked) to 4.0.2+:connection-pool2.4One change to the vendored fork was reimplemented: upstream does not support timeout kwarg for .new, nor does
connection_poolexpose an accessor for itstimeout. So this code reaches into the pool and sets the@timeoutivar directly.Additionally, all of the exceptions which
net-httphandles (inNet::HTTP#transport_request) are added toRESCUED_EXCEPTIONS. Net::HTTP uses these to determine whether the socket should be closed (and whether idempotent requests should be retried).Please note: this incorporates #346, so CI can pass.