Fix condition check for RED.httpNode to ensure proper middleware setup

This commit is contained in:
Debadutta Panda 2025-02-10 19:40:49 +05:30
parent caeb5d3538
commit bb43d63b54

View File

@ -16,6 +16,7 @@
module.exports = function(RED) { module.exports = function(RED) {
"use strict"; "use strict";
var rootApp;
var bodyParser = require("body-parser"); var bodyParser = require("body-parser");
var multer = require("multer"); var multer = require("multer");
var cookieParser = require("cookie-parser"); var cookieParser = require("cookie-parser");
@ -27,7 +28,6 @@ module.exports = function(RED) {
var isUtf8 = require('is-utf8'); var isUtf8 = require('is-utf8');
var hashSum = require("hash-sum"); var hashSum = require("hash-sum");
var PassThrough = require('stream').PassThrough; var PassThrough = require('stream').PassThrough;
var rootApp = getRootApp(RED.httpNode);
var rawDataRoutes = new Set(); var rawDataRoutes = new Set();
/** /**
@ -162,10 +162,12 @@ module.exports = function(RED) {
return next(); return next();
} }
if(typeof RED.httpNode === 'function' && (rootApp = getRootApp(RED.httpNode))) {
// Add middleware to the stack // Add middleware to the stack
rootApp.use(setupRawBodyCapture); rootApp.use(setupRawBodyCapture);
// Move the router to top of the stack // Move the router to top of the stack
rootApp._router.stack.unshift(rootApp._router.stack.pop()); rootApp._router.stack.unshift(rootApp._router.stack.pop());
}
function createRequestWrapper(node,req) { function createRequestWrapper(node,req) {
// This misses a bunch of properties (eg headers). Before we use this function // This misses a bunch of properties (eg headers). Before we use this function