Extract creation of Net::HTTP in httpproxy#41
Merged
jeremyevans merged 1 commit intoruby:masterfrom May 26, 2020
Merged
Conversation
Contributor
|
Thanks for the patch! This looks fine and shouldn't have any backwards compatibility issues. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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