Extract creation of Net::HTTP in httpproxy #41
Merged
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.
The "evil-proxy" gem [1] allows one to create an HTTPS man-in-the-middle proxy using webrick/httpproxy as the base.
It's a fairly unmaintained gem and therefore has fallen behind not-so-recent changes within webrick.
The biggest issue with e-p is its use of perform_proxy_request from webrick/httpproxy. Since httpproxy does not handle HTTPS requests in normal use the Net::HTTP object does not respect the fact that it might be used for that. Therefore evil-proxy basically has a cut/paste version of perform_proxy_request within it. So that means any changes to webrick require another cut-and-paste update to e-p.
I'd like to use e-p but I'd rather not cut-and-paste the method back in. Therefore I'm wondering if the following small patch would be acceptable. It simply moves the Net::HTTP.new call out into a distinct method which allows e-p to simply override that method to allow for use_ssl and verify_mode to be customized.
Thanks!
[1] - https://github.com/bbtfr/evil-proxy