Add support for proxying HTTPS server connections on the client side... for Web Sockets too
#1,545 opened on Nov 22, 2017
Description
As suggested by the title, this issue is related to #192 and its PRs #917, #921 and #1200.
We are trying to connect to an "external" server through an HTTP(S) Proxy that does not allow any "wss://..." request.
So, the singleWebSocketRequest method may be of some help as soon as its "settings" parameter handles a custom ClientTransport, as explained here, in the doc for singleRequest method...
Unfortunately, singleWebSocketRequest method takes a ClientConnectionSettings "settings" parameter, while singleRequest method takes a ConnectionPoolSettings, and there is no way to tell a ClientConnectionSettings that its ClientTransport should not always be the default ClientTransport.TCP
So we tried...
- we made
ClientConnectionSettingsjust look likeConnectionPoolSettingsregarding its "transport" parameter - we made a very little change in the way
singleWebSocketRequestmethod calls for the private_outgoingTlsConnectionLayermethod in Http.scala file (throughwebSocketClientFlowmethod actually)
and it works like a charm... for us.
So, I worked on a PR I should be able to submit very soon...
The goal here is, apart from sharing a solution, to verify that "it works like a charm", but not only for us ;-)