diff --git a/lib/node-http-proxy/http-proxy.js b/lib/node-http-proxy/http-proxy.js index 1a893f8..ffd5c95 100644 --- a/lib/node-http-proxy/http-proxy.js +++ b/lib/node-http-proxy/http-proxy.js @@ -439,12 +439,15 @@ HttpProxy.prototype.proxyRequest = function (req, res, buffer) { // Performs a WebSocket proxy operation to the location specified by // `this.target`. // -HttpProxy.prototype.proxyWebSocketRequest = function (req, socket, head, buffer) { +HttpProxy.prototype.proxyWebSocketRequest = function (req, socket, upgradeHead, buffer) { var self = this, outgoing = new(this.target.base), listeners = {}, errState = false, - CRLF = '\r\n'; + CRLF = '\r\n', + //copy upgradeHead to avoid retention of large slab buffers used in node core + head = new Buffer(upgradeHead.length); + upgradeHead.copy(head); // // WebSocket requests must have the `GET` method and