From 33b13aa73cf97e17fb99faf811961290291b59de Mon Sep 17 00:00:00 2001 From: Alex Stockinger Date: Fri, 26 Jun 2020 11:25:00 +0000 Subject: [PATCH 1/2] Add IntelliJ to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 64e3c3ae..753421d7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules/ npm-debug.log* .dir-locals.el .DS_Store +.idea/ From c1f785953834027b6c8fbcd054035e5d5be0c7ea Mon Sep 17 00:00:00 2001 From: Alex Stockinger Date: Fri, 26 Jun 2020 11:26:09 +0000 Subject: [PATCH 2/2] Handle websocket upgrades --- lib/http-server.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/http-server.js b/lib/http-server.js index 8bafdf8e..e9d51447 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -163,12 +163,12 @@ function HttpServer(options) { })); if (typeof options.proxy === 'string') { - var proxy = httpProxy.createProxyServer({}); + var proxy = httpProxy.createProxyServer({ + target: options.proxy, + changeOrigin: true + }); before.push(function (req, res) { - proxy.web(req, res, { - target: options.proxy, - changeOrigin: true - }, function (err, req, res, target) { + proxy.web(req, res, {}, function (err, req, res, target) { if (options.logFn) { options.logFn(req, res, { message: err.message, @@ -199,6 +199,12 @@ function HttpServer(options) { if (options.timeout !== undefined) { this.server.setTimeout(options.timeout); } + + if (typeof options.proxy === 'string') { + this.server.on('upgrade', function (request, socket, head) { + proxy.ws(request, socket, head); + }); + } } HttpServer.prototype.listen = function () {