@requestly/requestly-proxy 1.1.22 → 1.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -689,6 +689,15 @@ Proxy.prototype._onWebSocketServerConnect = function (isSSL, ws, upgradeReq) {
689
689
  agent: ctx.isSSL ? self.httpsAgent : self.httpAgent,
690
690
  headers: ptosHeaders,
691
691
  };
692
+ if (ctopHeaders["sec-websocket-version"]) {
693
+ ctx.proxyToServerWebSocketOptions.protocolVersion = parseInt(ctopHeaders["sec-websocket-version"]);
694
+ }
695
+ if (ctopHeaders["sec-websocket-protocol"]) {
696
+ ctx.proxyToServerWebSocketOptions.subProtocol = ctopHeaders["sec-websocket-protocol"];
697
+ }
698
+ const socketOrigin = ctopHeaders["origin"] || ctopHeaders["sec-websocket-origin"];
699
+ if (socketOrigin)
700
+ ctx.proxyToServerWebSocketOptions.origin = socketOrigin;
692
701
  return self._onWebSocketConnection(ctx, function (err) {
693
702
  if (err) {
694
703
  return self._onWebSocketError(ctx, err);
@@ -696,7 +705,13 @@ Proxy.prototype._onWebSocketServerConnect = function (isSSL, ws, upgradeReq) {
696
705
  return makeProxyToServerWebSocket();
697
706
  });
698
707
  function makeProxyToServerWebSocket() {
699
- ctx.proxyToServerWebSocket = new WebSocket(ctx.proxyToServerWebSocketOptions.url, ctx.proxyToServerWebSocketOptions);
708
+ try {
709
+ ctx.proxyToServerWebSocket = new WebSocket(ctx.proxyToServerWebSocketOptions.url, ctx.proxyToServerWebSocketOptions.subProtocol || "", ctx.proxyToServerWebSocketOptions);
710
+ }
711
+ catch (error) {
712
+ // because some sub protocols are not accepted
713
+ ctx.proxyToServerWebSocket = new WebSocket(ctx.proxyToServerWebSocketOptions.url, ctx.proxyToServerWebSocketOptions);
714
+ }
700
715
  ctx.proxyToServerWebSocket.on("message", self._onWebSocketFrame.bind(self, ctx, "message", true));
701
716
  ctx.proxyToServerWebSocket.on("ping", self._onWebSocketFrame.bind(self, ctx, "ping", true));
702
717
  ctx.proxyToServerWebSocket.on("pong", self._onWebSocketFrame.bind(self, ctx, "pong", true));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@requestly/requestly-proxy",
3
- "version": "1.1.22",
3
+ "version": "1.1.23",
4
4
  "description": "Proxy that gives superpowers to all the Requestly clients",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {