| "use strict"; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| exports.fixRequestBody = void 0; |
| const querystring = require("querystring"); |
| /** |
| * Fix proxied body if bodyParser is involved. |
| */ |
| function fixRequestBody(proxyReq, req) { |
| const requestBody = req.body; |
| if (!requestBody || !Object.keys(requestBody).length) { |
| return; |
| } |
| const contentType = proxyReq.getHeader('Content-Type'); |
| const writeBody = (bodyData) => { |
| // deepcode ignore ContentLengthInCode: bodyParser fix |
| proxyReq.setHeader('Content-Length', Buffer.byteLength(bodyData)); |
| proxyReq.write(bodyData); |
| }; |
| if (contentType && contentType.includes('application/json')) { |
| writeBody(JSON.stringify(requestBody)); |
| } |
| if (contentType === 'application/x-www-form-urlencoded') { |
| writeBody(querystring.stringify(requestBody)); |
| } |
| } |
| exports.fixRequestBody = fixRequestBody; |