http-proxy-middleware
Advanced tools
Comparing version
@@ -6,2 +6,2 @@ /// <reference types="node" /> | ||
*/ | ||
export declare function fixRequestBody(proxyReq: http.ClientRequest, req: http.IncomingMessage, res: http.ServerResponse): void; | ||
export declare function fixRequestBody(proxyReq: http.ClientRequest, req: http.IncomingMessage): void; |
@@ -8,3 +8,7 @@ "use strict"; | ||
*/ | ||
function fixRequestBody(proxyReq, req, res) { | ||
function fixRequestBody(proxyReq, req) { | ||
// skip fixRequestBody() when req.readableLength not 0 (bodyParser failure) | ||
if (req.readableLength !== 0) { | ||
return; | ||
} | ||
const requestBody = req.body; | ||
@@ -18,12 +22,2 @@ if (!requestBody) { | ||
} | ||
// Handle bad request when unexpected "Connect: Upgrade" header is provided | ||
if (/upgrade/gi.test(proxyReq.getHeader('Connection'))) { | ||
handleBadRequest({ proxyReq, req, res }); | ||
return; | ||
} | ||
// Handle bad request when invalid request body is provided | ||
if (hasInvalidKeys(requestBody)) { | ||
handleBadRequest({ proxyReq, req, res }); | ||
return; | ||
} | ||
const writeBody = (bodyData) => { | ||
@@ -42,10 +36,1 @@ // deepcode ignore ContentLengthInCode: bodyParser fix | ||
exports.fixRequestBody = fixRequestBody; | ||
function hasInvalidKeys(obj) { | ||
return Object.keys(obj).some((key) => /[\n\r]/.test(key)); | ||
} | ||
function handleBadRequest({ proxyReq, req, res }) { | ||
res.writeHead(400); | ||
res.end('Bad Request'); | ||
proxyReq.destroy(); | ||
req.destroy(); | ||
} |
{ | ||
"name": "http-proxy-middleware", | ||
"version": "2.0.8", | ||
"version": "2.0.9", | ||
"description": "The one-liner node.js proxy middleware for connect, express and browser-sync", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
64411
-0.81%984
-1.5%