feat(http): add support for proxy tunneling #6465
Open
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.
This is the renewal of #5781 but rather than tunneling every HTTPS request which would be a breaking change, it introduces a new option to tunnel any request as desired.
Additionally, it fixes two issues with the existing proxy implementation: 1. When using an HTTPS proxy, the server name for the SNI TLS extension is incorrectly set to the target's, not the proxy's. 2. When the protocol is not set, it is incorrectly set to the target's, not http.
Admittedly, these changes should have been submitted in a different PR, but I was too lazy.
Oh and by the way, the documentation for the newly added option was ripped off from curl's manpage.