Fix reconnect on keep alive timeout for passthrough uris. #44
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.
Depends on pull #43 and includes the commit from that pull request. See the second commit for the changes for this pull request.
Problem
pull #43 fixes the following problem when remove connections are allowed to any URI, but not when passthrough uris are registered
Solution
In this case, it would be preferred to delay the
connect
on Net::HTTP.start until therequest
method is called, since fakeweb is in use and we don't want to connect to a remote server when all the requests the a connection will be mocked. However, we want aconnect
to work inside ofrequest_without_fakeweb
due to a keep alive timeout or retry logic.To accomplish this, I set and reset an instance variable around the call to
request_without_fakeweb
, then have theconnect
method actually connect to the remote server if this variable set.