forked from svrjs/svrjs
Rewritten some of for loops to use forEach instead.
This commit is contained in:
parent
e7e232f6e7
commit
d31d47bbcd
2 changed files with 234 additions and 288 deletions
|
@ -3,7 +3,7 @@
|
||||||
"port": 80,
|
"port": 80,
|
||||||
"pubport": 80,
|
"pubport": 80,
|
||||||
"page404": "404.html",
|
"page404": "404.html",
|
||||||
"timestamp": 1692472320477,
|
"timestamp": 1692477525860,
|
||||||
"blacklist": [],
|
"blacklist": [],
|
||||||
"nonStandardCodes": [],
|
"nonStandardCodes": [],
|
||||||
"enableCompression": true,
|
"enableCompression": true,
|
||||||
|
|
516
svr.js
516
svr.js
|
@ -570,9 +570,9 @@ function ipBlockList(rawBlockList) {
|
||||||
var validateIpv4 = /((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})/;
|
var validateIpv4 = /((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})/;
|
||||||
|
|
||||||
if (validateIpv4.test(address)) {
|
if (validateIpv4.test(address)) {
|
||||||
groups = address.match(extractIpv4);
|
var oldGroups = address.match(extractIpv4);
|
||||||
for (var i = 1; i < groups.length; i++) {
|
for (var i = 1; i < oldGroups.length; i++) {
|
||||||
ipv4 += ("00" + (parseInt(groups[i], 10).toString(16))).slice(-2) + (i == 2 ? ":" : "");
|
ipv4 += ("00" + (parseInt(oldGroups[i], 10).toString(16))).slice(-2) + (i == 2 ? ":" : "");
|
||||||
}
|
}
|
||||||
address = address.replace(extractIpv4, ipv4);
|
address = address.replace(extractIpv4, ipv4);
|
||||||
}
|
}
|
||||||
|
@ -582,19 +582,19 @@ function ipBlockList(rawBlockList) {
|
||||||
} else {
|
} else {
|
||||||
var sides = address.split("::");
|
var sides = address.split("::");
|
||||||
var groupsPresent = 0;
|
var groupsPresent = 0;
|
||||||
for (var i = 0; i < sides.length; i++) {
|
sides.forEach(function (side) {
|
||||||
groupsPresent += sides[i].split(":").length;
|
groupsPresent += side.split(":").length;
|
||||||
}
|
});
|
||||||
fullAddress += sides[0] + ":";
|
fullAddress += sides[0] + ":";
|
||||||
for (var i = 0; i < validGroupCount - groupsPresent; i++) {
|
if(validGroupCount - groupsPresent > 1) {
|
||||||
fullAddress += "0000:";
|
fullAddress += "0000:".repeat(validGroupCount - groupsPresent);
|
||||||
}
|
}
|
||||||
fullAddress += sides[1];
|
fullAddress += sides[1];
|
||||||
}
|
}
|
||||||
var groups = fullAddress.split(":");
|
var groups = fullAddress.split(":");
|
||||||
for (var i = 0; i < validGroupCount; i++) {
|
for (var i = 0; i < validGroupCount; i++) {
|
||||||
while (groups[i].length < validGroupSize) {
|
if (groups[i].length < validGroupSize) {
|
||||||
groups[i] = "0" + groups[i];
|
groups[i] = "0".repeat(validGroupSize - groups[i].length) + groups[i];
|
||||||
}
|
}
|
||||||
expandedAddress += (i != validGroupCount - 1) ? groups[i] + ":" : groups[i];
|
expandedAddress += (i != validGroupCount - 1) ? groups[i] + ":" : groups[i];
|
||||||
}
|
}
|
||||||
|
@ -623,9 +623,9 @@ function ipBlockList(rawBlockList) {
|
||||||
function ipv6ToBlocks(ip) {
|
function ipv6ToBlocks(ip) {
|
||||||
var ips = ip.split(":");
|
var ips = ip.split(":");
|
||||||
var ip2s = [];
|
var ip2s = [];
|
||||||
for (var i = 0; i < ips.length; i++) {
|
ips.forEach(function (ipe) {
|
||||||
ip2s.push(parseInt(ips[i]));
|
ip2s.push(parseInt(ipe));
|
||||||
}
|
});
|
||||||
return ip2s;
|
return ip2s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -750,17 +750,16 @@ function ipBlockList(rawBlockList) {
|
||||||
if (instance.cidrs.length == 0) return false;
|
if (instance.cidrs.length == 0) return false;
|
||||||
var ipParsedObject = (!isIPv6 ? ipv4ToInt : ipv6ToBlocks)(rawValue);
|
var ipParsedObject = (!isIPv6 ? ipv4ToInt : ipv6ToBlocks)(rawValue);
|
||||||
var checkMethod = (!isIPv6 ? checkIfIPv4CIDRMatches : checkIfIPv6CIDRMatches);
|
var checkMethod = (!isIPv6 ? checkIfIPv4CIDRMatches : checkIfIPv6CIDRMatches);
|
||||||
for (var i = 0; i < instance.cidrs.length; i++) {
|
|
||||||
if (checkMethod(ipParsedObject, instance.cidrs[i])) return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
return instance.cidrs.some(function(iCidr) {
|
||||||
|
return checkMethod(ipParsedObject, iCidr);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// Add initial raw block list values to the instance
|
// Add initial raw block list values to the instance
|
||||||
for (var i = 0; i < rawBlockList.length; i++) {
|
rawBlockList.forEach(function (rbe) {
|
||||||
instance.add(rawBlockList[i]);
|
instance.add(rbe);
|
||||||
}
|
});
|
||||||
|
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
@ -771,18 +770,20 @@ function generateErrorStack(errorObject) {
|
||||||
var errorStack = errorObject.stack ? errorObject.stack.split("\n") : [];
|
var errorStack = errorObject.stack ? errorObject.stack.split("\n") : [];
|
||||||
|
|
||||||
// If the error stack starts with the error name, return the original stack (it is V8-style then).
|
// If the error stack starts with the error name, return the original stack (it is V8-style then).
|
||||||
for (var i = 0; i < errorStack.length; i++) {
|
if (errorStack.some(function (errorStackLine) {
|
||||||
if (errorStack[i].indexOf(errorObject.name) == 0) return errorObject.stack;
|
return (errorStackLine.indexOf(errorObject.name) == 0);
|
||||||
|
})) {
|
||||||
|
return errorObject.stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a new error stack with the error name and code (if available).
|
// Create a new error stack with the error name and code (if available).
|
||||||
var newErrorStack = [errorObject.name + (errorObject.code ? ": " + errorObject.code : "") + (errorObject.message == "" ? "" : ": " + errorObject.message)];
|
var newErrorStack = [errorObject.name + (errorObject.code ? ": " + errorObject.code : "") + (errorObject.message == "" ? "" : ": " + errorObject.message)];
|
||||||
|
|
||||||
// Process each line of the original error stack.
|
// Process each line of the original error stack.
|
||||||
for (var i = 0; i < errorStack.length; i++) {
|
errorStack.forEach(function (errorStackLine) {
|
||||||
if (errorStack[i] != "") {
|
if (errorStackLine != "") {
|
||||||
// Split the line into function and location parts (if available).
|
// Split the line into function and location parts (if available).
|
||||||
var errorFrame = errorStack[i].split("@");
|
var errorFrame = errorStackLine.split("@");
|
||||||
var location = "";
|
var location = "";
|
||||||
if (errorFrame.length > 1) location = errorFrame.pop();
|
if (errorFrame.length > 1) location = errorFrame.pop();
|
||||||
var func = errorFrame.join("@");
|
var func = errorFrame.join("@");
|
||||||
|
@ -790,7 +791,7 @@ function generateErrorStack(errorObject) {
|
||||||
// Build the new error stack entry with function and location information.
|
// Build the new error stack entry with function and location information.
|
||||||
newErrorStack.push(" at " + (func == "" ? (!location || location == "" ? "<anonymous>" : location) : (func + (!location || location == "" ? "" : " (" + location + ")"))));
|
newErrorStack.push(" at " + (func == "" ? (!location || location == "" ? "<anonymous>" : location) : (func + (!location || location == "" ? "" : " (" + location + ")"))));
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
// Join the new error stack entries with newlines and return the final stack.
|
// Join the new error stack entries with newlines and return the final stack.
|
||||||
return newErrorStack.join("\n");
|
return newErrorStack.join("\n");
|
||||||
|
@ -1034,18 +1035,17 @@ configJSON.productName = "SVR.JS";
|
||||||
var blacklist = ipBlockList(rawBlackList);
|
var blacklist = ipBlockList(rawBlackList);
|
||||||
|
|
||||||
var nonStandardCodes = [];
|
var nonStandardCodes = [];
|
||||||
for (var i = 0; i < nonStandardCodesRaw.length; i++) {
|
nonStandardCodesRaw.forEach(function (nonStandardCodeRaw) {
|
||||||
var nO = {};
|
var nO = {};
|
||||||
var nsKeys = Object.keys(nonStandardCodesRaw[i]);
|
Object.keys(nonStandardCodeRaw).forEach(function (nsKey) {
|
||||||
for (var j = 0; j < nsKeys.length; j++) {
|
if (nsKey != "users") {
|
||||||
if (nsKeys[j] != "users") {
|
nO[nsKey] = nonStandardCodeRaw[nsKey];
|
||||||
nO[nsKeys[j]] = nonStandardCodesRaw[i][nsKeys[j]];
|
|
||||||
} else {
|
} else {
|
||||||
nO["users"] = ipBlockList(nonStandardCodesRaw[i].users);
|
nO["users"] = ipBlockList(nonStandardCodeRaw.users);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
nonStandardCodes.push(nO);
|
nonStandardCodes.push(nO);
|
||||||
}
|
});
|
||||||
|
|
||||||
var customHeaders = (configJSON.customHeaders == undefined ? {} : JSON.parse(JSON.stringify(configJSON.customHeaders)));
|
var customHeaders = (configJSON.customHeaders == undefined ? {} : JSON.parse(JSON.stringify(configJSON.customHeaders)));
|
||||||
if (exposeServerVersion) {
|
if (exposeServerVersion) {
|
||||||
|
@ -1178,10 +1178,9 @@ function LOG(s) {
|
||||||
var serverconsole = {
|
var serverconsole = {
|
||||||
climessage: function (msg) {
|
climessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.climessage(nmsg);
|
||||||
serverconsole.climessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER CLI MESSAGE: " + msg);
|
console.log("SERVER CLI MESSAGE: " + msg);
|
||||||
|
@ -1190,10 +1189,9 @@ var serverconsole = {
|
||||||
},
|
},
|
||||||
reqmessage: function (msg) {
|
reqmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.reqmessage(nmsg);
|
||||||
serverconsole.reqmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[34mSERVER REQUEST MESSAGE: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[34mSERVER REQUEST MESSAGE: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -1202,10 +1200,9 @@ var serverconsole = {
|
||||||
},
|
},
|
||||||
resmessage: function (msg) {
|
resmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.resmessage(nmsg);
|
||||||
serverconsole.resmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[32mSERVER RESPONSE MESSAGE: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[32mSERVER RESPONSE MESSAGE: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -1214,10 +1211,9 @@ var serverconsole = {
|
||||||
},
|
},
|
||||||
errmessage: function (msg) {
|
errmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.errmessage(nmsg);
|
||||||
serverconsole.errmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -1226,10 +1222,9 @@ var serverconsole = {
|
||||||
},
|
},
|
||||||
locerrmessage: function (msg) {
|
locerrmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locerrmessage(nmsg);
|
||||||
serverconsole.locerrmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[41mSERVER ERROR MESSAGE: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[41mSERVER ERROR MESSAGE: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -1238,10 +1233,9 @@ var serverconsole = {
|
||||||
},
|
},
|
||||||
locwarnmessage: function (msg) {
|
locwarnmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locwarnmessage(nmsg);
|
||||||
serverconsole.locwarnmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[43mSERVER WARNING MESSAGE: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[43mSERVER WARNING MESSAGE: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -1250,10 +1244,9 @@ var serverconsole = {
|
||||||
},
|
},
|
||||||
locmessage: function (msg) {
|
locmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locmessage(nmsg);
|
||||||
serverconsole.locmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER MESSAGE: " + msg);
|
console.log("SERVER MESSAGE: " + msg);
|
||||||
|
@ -1314,9 +1307,9 @@ if (!disableMods) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Iterate through the list of mod files
|
// Iterate through the list of mod files
|
||||||
for (var i = 0; i < modFiles.length; i++) {
|
modFiles.forEach(function (modFileRaw) {
|
||||||
// Build the path to the current mod file
|
// Build the path to the current mod file
|
||||||
var modFile = __dirname + "/mods/" + modFiles[i];
|
var modFile = __dirname + "/mods/" + modFileRaw;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Try creating the modloader folder (if not already exists)
|
// Try creating the modloader folder (if not already exists)
|
||||||
|
@ -1337,7 +1330,7 @@ if (!disableMods) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a subfolder for the current mod within the modloader folder
|
// Create a subfolder for the current mod within the modloader folder
|
||||||
fs.mkdirSync(__dirname + "/temp/" + modloaderFolderName + "/" + modFiles[i]);
|
fs.mkdirSync(__dirname + "/temp/" + modloaderFolderName + "/" + modFileRaw);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// If there was an error creating the folder, ignore it if it's a known error
|
// If there was an error creating the folder, ignore it if it's a known error
|
||||||
if (err.code != "EEXIST" && err.code != "ENOENT") throw err;
|
if (err.code != "EEXIST" && err.code != "ENOENT") throw err;
|
||||||
|
@ -1354,12 +1347,12 @@ if (!disableMods) {
|
||||||
tar.x({
|
tar.x({
|
||||||
file: modFile,
|
file: modFile,
|
||||||
sync: true,
|
sync: true,
|
||||||
C: __dirname + "/temp/" + modloaderFolderName + "/" + modFiles[i]
|
C: __dirname + "/temp/" + modloaderFolderName + "/" + modFileRaw
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// If it's not a ".tar.gz" file, unpack it using `svrmodpack`
|
// If it's not a ".tar.gz" file, unpack it using `svrmodpack`
|
||||||
if (svrmodpack._errored) throw svrmodpack._errored;
|
if (svrmodpack._errored) throw svrmodpack._errored;
|
||||||
svrmodpack.unpack(modFile, __dirname + "/temp/" + modloaderFolderName + "/" + modFiles[i]);
|
svrmodpack.unpack(modFile, __dirname + "/temp/" + modloaderFolderName + "/" + modFileRaw);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize variables for mod loading
|
// Initialize variables for mod loading
|
||||||
|
@ -1369,7 +1362,7 @@ if (!disableMods) {
|
||||||
// Attempt to require the mod's index.js file, retrying up to 3 times in case of syntax errors
|
// Attempt to require the mod's index.js file, retrying up to 3 times in case of syntax errors
|
||||||
for (var j = 0; j < 3; j++) {
|
for (var j = 0; j < 3; j++) {
|
||||||
try {
|
try {
|
||||||
Mod = require("./temp/" + modloaderFolderName + "/" + modFiles[i] + "/index.js");
|
Mod = require("./temp/" + modloaderFolderName + "/" + modFileRaw + "/index.js");
|
||||||
mod = new Mod();
|
mod = new Mod();
|
||||||
break;
|
break;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
@ -1387,13 +1380,13 @@ if (!disableMods) {
|
||||||
// Attempt to read the mod's info file, retrying up to 3 times
|
// Attempt to read the mod's info file, retrying up to 3 times
|
||||||
for (var j = 0; j < 3; j++) {
|
for (var j = 0; j < 3; j++) {
|
||||||
try {
|
try {
|
||||||
modInfos.push(JSON.parse(fs.readFileSync(__dirname + "/temp/" + modloaderFolderName + "/" + modFiles[i] + "/mod.info")));
|
modInfos.push(JSON.parse(fs.readFileSync(__dirname + "/temp/" + modloaderFolderName + "/" + modFileRaw + "/mod.info")));
|
||||||
break;
|
break;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (j >= 2) {
|
if (j >= 2) {
|
||||||
// If failed to read info file, add a placeholder entry to modInfos with an error message
|
// If failed to read info file, add a placeholder entry to modInfos with an error message
|
||||||
modInfos.push({
|
modInfos.push({
|
||||||
name: "Unknown mod (" + modFiles[i] + ";" + err.message + ")",
|
name: "Unknown mod (" + modFileRaw + ";" + err.message + ")",
|
||||||
version: "ERROR"
|
version: "ERROR"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1406,13 +1399,13 @@ if (!disableMods) {
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// If there was an error during mod loading, log it to the console
|
// If there was an error during mod loading, log it to the console
|
||||||
if (cluster.isPrimary || cluster.isPrimary === undefined) {
|
if (cluster.isPrimary || cluster.isPrimary === undefined) {
|
||||||
serverconsole.locwarnmessage("There was a problem while loading a \"" + modFiles[i] + "\" mod.");
|
serverconsole.locwarnmessage("There was a problem while loading a \"" + modFileRaw + "\" mod.");
|
||||||
serverconsole.locwarnmessage("Stack:");
|
serverconsole.locwarnmessage("Stack:");
|
||||||
serverconsole.locwarnmessage(generateErrorStack(err));
|
serverconsole.locwarnmessage(generateErrorStack(err));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
// Check if a custom server side script file exists
|
// Check if a custom server side script file exists
|
||||||
if (fs.existsSync("./serverSideScript.js") && fs.statSync("./serverSideScript.js").isFile()) {
|
if (fs.existsSync("./serverSideScript.js") && fs.statSync("./serverSideScript.js").isFile()) {
|
||||||
|
@ -1624,11 +1617,9 @@ function isForbiddenPath(decodedHref, match) {
|
||||||
return decodedHref === forbiddenPath || (os.platform() === "win32" && decodedHref.toLowerCase() === forbiddenPath.toLowerCase());
|
return decodedHref === forbiddenPath || (os.platform() === "win32" && decodedHref.toLowerCase() === forbiddenPath.toLowerCase());
|
||||||
}
|
}
|
||||||
if (typeof forbiddenPath === "object") {
|
if (typeof forbiddenPath === "object") {
|
||||||
for (var i = 0; i < forbiddenPath.length; i++) {
|
return forbiddenPath.some(function (forbiddenPathSingle) {
|
||||||
if (decodedHref === forbiddenPath[i] || (os.platform() === "win32" && decodedHref.toLowerCase() === forbiddenPath[i].toLowerCase())) {
|
return (decodedHref === forbiddenPathSingle || (os.platform() === "win32" && decodedHref.toLowerCase() === forbiddenPathSingle.toLowerCase()));
|
||||||
return true;
|
});
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1640,11 +1631,9 @@ function isIndexOfForbiddenPath(decodedHref, match) {
|
||||||
return decodedHref === forbiddenPath || decodedHref.indexOf(forbiddenPath + "/") === 0 || (os.platform() === "win32" && (decodedHref.toLowerCase() === forbiddenPath.toLowerCase() || decodedHref.toLowerCase().indexOf(forbiddenPath.toLowerCase() + "/") === 0));
|
return decodedHref === forbiddenPath || decodedHref.indexOf(forbiddenPath + "/") === 0 || (os.platform() === "win32" && (decodedHref.toLowerCase() === forbiddenPath.toLowerCase() || decodedHref.toLowerCase().indexOf(forbiddenPath.toLowerCase() + "/") === 0));
|
||||||
}
|
}
|
||||||
if (typeof forbiddenPath === "object") {
|
if (typeof forbiddenPath === "object") {
|
||||||
for (var i = 0; i < forbiddenPath.length; i++) {
|
return forbiddenPath.some(function (forbiddenPathSingle) {
|
||||||
if (decodedHref === forbiddenPath[i] || decodedHref.indexOf(forbiddenPath[i] + "/") === 0 || (os.platform() === "win32" && (decodedHref.toLowerCase() === forbiddenPath[i].toLowerCase() || decodedHref.toLowerCase().indexOf(forbiddenPath[i].toLowerCase() + "/") === 0))) {
|
return (decodedHref === forbiddenPathSingle || decodedHref.indexOf(forbiddenPathSingle + "/") === 0 || (os.platform() === "win32" && (decodedHref.toLowerCase() === forbiddenPathSingle.toLowerCase() || decodedHref.toLowerCase().indexOf(forbiddenPathSingle.toLowerCase() + "/") === 0)));
|
||||||
return true;
|
});
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1657,10 +1646,10 @@ forbiddenPaths.certificates = [];
|
||||||
if (secure) {
|
if (secure) {
|
||||||
forbiddenPaths.certificates.push(getInitializePath(configJSON.cert));
|
forbiddenPaths.certificates.push(getInitializePath(configJSON.cert));
|
||||||
forbiddenPaths.certificates.push(getInitializePath(configJSON.key));
|
forbiddenPaths.certificates.push(getInitializePath(configJSON.key));
|
||||||
for (var i = 0; i < Object.keys(sni).length; i++) {
|
Object.keys(sni).forEach(function (sniHostName) {
|
||||||
forbiddenPaths.certificates.push(getInitializePath(sni[Object.keys(sni)[i]].cert));
|
forbiddenPaths.certificates.push(getInitializePath(sni[sniHostName].cert));
|
||||||
forbiddenPaths.certificates.push(getInitializePath(sni[Object.keys(sni)[i]].key));
|
forbiddenPaths.certificates.push(getInitializePath(sni[sniHostName].key));
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
forbiddenPaths.svrjs = getInitializePath("./" + ((__dirname[__dirname.length - 1] != "/") ? __filename.replace(__dirname + "/", "") : __filename.replace(__dirname, "")));
|
forbiddenPaths.svrjs = getInitializePath("./" + ((__dirname[__dirname.length - 1] != "/") ? __filename.replace(__dirname + "/", "") : __filename.replace(__dirname, "")));
|
||||||
forbiddenPaths.serverSideScripts = [];
|
forbiddenPaths.serverSideScripts = [];
|
||||||
|
@ -1693,10 +1682,9 @@ if (!cluster.isPrimary) {
|
||||||
var serverconsole = {
|
var serverconsole = {
|
||||||
climessage: function (msg) {
|
climessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.climessage(nmsg);
|
||||||
serverconsole.climessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER CLI MESSAGE [Request Id: " + reqId + "]: " + msg);
|
console.log("SERVER CLI MESSAGE [Request Id: " + reqId + "]: " + msg);
|
||||||
|
@ -1705,10 +1693,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
reqmessage: function (msg) {
|
reqmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.reqmessage(nmsg);
|
||||||
serverconsole.reqmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[34mSERVER REQUEST MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[34mSERVER REQUEST MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -1717,10 +1704,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
resmessage: function (msg) {
|
resmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.resmessage(nmsg);
|
||||||
serverconsole.resmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[32mSERVER RESPONSE MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[32mSERVER RESPONSE MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -1729,10 +1715,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
errmessage: function (msg) {
|
errmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.errmessage(nmsg);
|
||||||
serverconsole.errmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -1741,10 +1726,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locerrmessage: function (msg) {
|
locerrmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locerrmessage(nmsg);
|
||||||
serverconsole.locerrmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[41mSERVER ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[41mSERVER ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -1753,10 +1737,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locwarnmessage: function (msg) {
|
locwarnmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locwarnmessage(nmsg);
|
||||||
serverconsole.locwarnmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[43mSERVER WARNING MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[43mSERVER WARNING MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -1765,10 +1748,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locmessage: function (msg) {
|
locmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locmessage(nmsg);
|
||||||
serverconsole.locmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER MESSAGE [Request Id: " + reqId + "]: " + msg);
|
console.log("SERVER MESSAGE [Request Id: " + reqId + "]: " + msg);
|
||||||
|
@ -1907,12 +1889,12 @@ if (!cluster.isPrimary) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (secure) {
|
if (secure) {
|
||||||
for (var i = 0; i < sniCredentials.length; i++) {
|
sniCredentials.forEach(function (sniCredentialsSingle) {
|
||||||
server.addContext(sniCredentials[i].name, {
|
server.addContext(sniCredentialsSingle.name, {
|
||||||
cert: sniCredentials[i].cert,
|
cert: sniCredentialsSingle.cert,
|
||||||
key: sniCredentials[i].key
|
key: sniCredentialsSingle.key
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
|
||||||
}
|
}
|
||||||
server.on("request", reqhandler);
|
server.on("request", reqhandler);
|
||||||
server.on("checkExpectation", reqhandler);
|
server.on("checkExpectation", reqhandler);
|
||||||
|
@ -2000,10 +1982,9 @@ if (!cluster.isPrimary) {
|
||||||
var serverconsole = {
|
var serverconsole = {
|
||||||
climessage: function (msg) {
|
climessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.climessage(nmsg);
|
||||||
serverconsole.climessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER CLI MESSAGE [Request Id: " + reqId + "]: " + msg);
|
console.log("SERVER CLI MESSAGE [Request Id: " + reqId + "]: " + msg);
|
||||||
|
@ -2012,10 +1993,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
reqmessage: function (msg) {
|
reqmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.reqmessage(nmsg);
|
||||||
serverconsole.reqmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[34mSERVER REQUEST MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[34mSERVER REQUEST MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2024,10 +2004,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
resmessage: function (msg) {
|
resmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.resmessage(nmsg);
|
||||||
serverconsole.resmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[32mSERVER RESPONSE MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[32mSERVER RESPONSE MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2036,10 +2015,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
errmessage: function (msg) {
|
errmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.errmessage(nmsg);
|
||||||
serverconsole.errmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2048,10 +2026,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locerrmessage: function (msg) {
|
locerrmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locerrmessage(nmsg);
|
||||||
serverconsole.locerrmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[41mSERVER ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[41mSERVER ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -2060,10 +2037,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locwarnmessage: function (msg) {
|
locwarnmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locwarnmessage(nmsg);
|
||||||
serverconsole.locwarnmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[43mSERVER WARNING MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[43mSERVER WARNING MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -2072,10 +2048,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locmessage: function (msg) {
|
locmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locmessage(nmsg);
|
||||||
serverconsole.locmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER MESSAGE [Request Id: " + reqId + "]: " + msg);
|
console.log("SERVER MESSAGE [Request Id: " + reqId + "]: " + msg);
|
||||||
|
@ -2086,10 +2061,9 @@ if (!cluster.isPrimary) {
|
||||||
|
|
||||||
function getCustomHeaders() {
|
function getCustomHeaders() {
|
||||||
var ph = JSON.parse(JSON.stringify(customHeaders));
|
var ph = JSON.parse(JSON.stringify(customHeaders));
|
||||||
var phk = Object.keys(ph);
|
Object.keys(ph).forEach(function (phk) {
|
||||||
for (var i = 0; i < phk.length; i++) {
|
if (typeof ph[phk] == "string") ph[phk] = ph[phk].replace(/\{path\}/g, req.url);
|
||||||
if (typeof ph[phk[i]] == "string") ph[phk[i]] = ph[phk[i]].replace(/\{path\}/g, req.url);
|
});
|
||||||
}
|
|
||||||
return ph;
|
return ph;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2174,17 +2148,16 @@ if (!cluster.isPrimary) {
|
||||||
var cheaders = getCustomHeaders();
|
var cheaders = getCustomHeaders();
|
||||||
if (ch) {
|
if (ch) {
|
||||||
var chon = Object.keys(cheaders);
|
var chon = Object.keys(cheaders);
|
||||||
var chn = Object.keys(ch);
|
Object.keys(ch).forEach(function (chnS) {
|
||||||
for (var i = 0; i < chn.length; i++) {
|
var nhn = chnS;
|
||||||
var nhn = chn[i];
|
|
||||||
for (var j = 0; j < chon.length; j++) {
|
for (var j = 0; j < chon.length; j++) {
|
||||||
if (chon[j].toLowerCase() == chn[i].toLowerCase()) {
|
if (chon[j].toLowerCase() == chnS.toLowerCase()) {
|
||||||
nhn = chon[j];
|
nhn = chon[j];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ch[chn[i]]) cheaders[nhn] = ch[chn[i]];
|
if (ch[chnS]) cheaders[nhn] = ch[chnS];
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
cheaders["Content-Type"] = "text/html; charset=utf-8";
|
cheaders["Content-Type"] = "text/html; charset=utf-8";
|
||||||
if (errorCode == 405 && !cheaders["Allow"]) cheaders["Allow"] = "GET, POST, HEAD, OPTIONS";
|
if (errorCode == 405 && !cheaders["Allow"]) cheaders["Allow"] = "GET, POST, HEAD, OPTIONS";
|
||||||
|
@ -2212,7 +2185,6 @@ if (!cluster.isPrimary) {
|
||||||
res.end();
|
res.end();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2394,7 +2366,6 @@ if (!cluster.isPrimary) {
|
||||||
serverconsole.errmessage(generateErrorStack(err));
|
serverconsole.errmessage(generateErrorStack(err));
|
||||||
callServerError(500, undefined, generateErrorStack(err));
|
callServerError(500, undefined, generateErrorStack(err));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2426,19 +2397,18 @@ if (!cluster.isPrimary) {
|
||||||
var headers = JSON.parse(JSON.stringify(headers));
|
var headers = JSON.parse(JSON.stringify(headers));
|
||||||
headers["Date"] = (new Date()).toGMTString();
|
headers["Date"] = (new Date()).toGMTString();
|
||||||
headers["Connection"] = "close";
|
headers["Connection"] = "close";
|
||||||
var headernames = Object.keys(headers);
|
Object.keys(headers).forEach(function (headername) {
|
||||||
for (var i = 0; i < headernames.length; i++) {
|
if (headername.toLowerCase() == "set-cookie") {
|
||||||
if (headernames[i].toLowerCase() == "set-cookie") {
|
headers[headername].forEach(function (headerValueS) {
|
||||||
for (var j = 0; j < headers[headernames[i]]; j++) {
|
if (headername.match(/[^\x09\x20-\x7e\x80-\xff]|.:/) || headerValueS.match(/[^\x09\x20-\x7e\x80-\xff]/)) throw new Error("Invalid header!!! (" + headername + ")");
|
||||||
if (headernames[i].match(/[^\x09\x20-\x7e\x80-\xff]|.:/) || headers[headernames[i]][j].match(/[^\x09\x20-\x7e\x80-\xff]/)) throw new Error("Invalid header!!! (" + headernames[i] + ")");
|
head += (headername + ": " + headerValueS);
|
||||||
head += (headernames[i] + ": " + headers[headernames[i]][j]);
|
});
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (headernames[i].match(/[^\x09\x20-\x7e\x80-\xff]|.:/) || headers[headernames[i]].match(/[^\x09\x20-\x7e\x80-\xff]/)) throw new Error("Invalid header!!! (" + headernames[i] + ")");
|
if (headernames[i].match(/[^\x09\x20-\x7e\x80-\xff]|.:/) || headers[headername].match(/[^\x09\x20-\x7e\x80-\xff]/)) throw new Error("Invalid header!!! (" + headername + ")");
|
||||||
head += (headernames[i] + ": " + headers[headernames[i]]);
|
head += (headername + ": " + headers[headername]);
|
||||||
}
|
}
|
||||||
head += "\r\n";
|
head += "\r\n";
|
||||||
}
|
});
|
||||||
head += ("\r\n");
|
head += ("\r\n");
|
||||||
res.write(head);
|
res.write(head);
|
||||||
};
|
};
|
||||||
|
@ -2448,10 +2418,9 @@ if (!cluster.isPrimary) {
|
||||||
var serverconsole = {
|
var serverconsole = {
|
||||||
climessage: function (msg) {
|
climessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.climessage(nmsg);
|
||||||
serverconsole.climessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER CLI MESSAGE [Request Id: " + reqId + "]: " + msg);
|
console.log("SERVER CLI MESSAGE [Request Id: " + reqId + "]: " + msg);
|
||||||
|
@ -2460,10 +2429,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
reqmessage: function (msg) {
|
reqmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.reqmessage(nmsg);
|
||||||
serverconsole.reqmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[34mSERVER REQUEST MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[34mSERVER REQUEST MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2472,10 +2440,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
resmessage: function (msg) {
|
resmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.resmessage(nmsg);
|
||||||
serverconsole.resmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[32mSERVER RESPONSE MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[32mSERVER RESPONSE MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2484,10 +2451,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
errmessage: function (msg) {
|
errmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.errmessage(nmsg);
|
||||||
serverconsole.errmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2496,10 +2462,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locerrmessage: function (msg) {
|
locerrmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locerrmessage(nmsg);
|
||||||
serverconsole.locerrmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[41mSERVER ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[41mSERVER ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -2508,10 +2473,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locwarnmessage: function (msg) {
|
locwarnmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locwarnmessage(nmsg);
|
||||||
serverconsole.locwarnmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[43mSERVER WARNING MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[43mSERVER WARNING MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -2520,10 +2484,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locmessage: function (msg) {
|
locmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locmessage(nmsg);
|
||||||
serverconsole.locmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER MESSAGE [Request Id: " + reqId + "]: " + msg);
|
console.log("SERVER MESSAGE [Request Id: " + reqId + "]: " + msg);
|
||||||
|
@ -2578,17 +2541,16 @@ if (!cluster.isPrimary) {
|
||||||
var cheaders = getCustomHeaders();
|
var cheaders = getCustomHeaders();
|
||||||
if (ch) {
|
if (ch) {
|
||||||
var chon = Object.keys(cheaders);
|
var chon = Object.keys(cheaders);
|
||||||
var chn = Object.keys(ch);
|
Object.keys(ch).forEach(function (chnS) {
|
||||||
for (var i = 0; i < chn.length; i++) {
|
var nhn = chnS;
|
||||||
var nhn = chn[i];
|
|
||||||
for (var j = 0; j < chon.length; j++) {
|
for (var j = 0; j < chon.length; j++) {
|
||||||
if (chon[j].toLowerCase() == chn[i].toLowerCase()) {
|
if (chon[j].toLowerCase() == chnS.toLowerCase()) {
|
||||||
nhn = chon[j];
|
nhn = chon[j];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ch[chn[i]]) cheaders[nhn] = ch[chn[i]];
|
if (ch[chnS]) cheaders[nhn] = ch[chnS];
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
cheaders["Content-Type"] = "text/html; charset=utf-8";
|
cheaders["Content-Type"] = "text/html; charset=utf-8";
|
||||||
if (errorCode == 405 && !cheaders["Allow"]) cheaders["Allow"] = "GET, POST, HEAD, OPTIONS";
|
if (errorCode == 405 && !cheaders["Allow"]) cheaders["Allow"] = "GET, POST, HEAD, OPTIONS";
|
||||||
|
@ -2721,10 +2683,9 @@ if (!cluster.isPrimary) {
|
||||||
var serverconsole = {
|
var serverconsole = {
|
||||||
climessage: function (msg) {
|
climessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.climessage(nmsg);
|
||||||
serverconsole.climessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER CLI MESSAGE [Request Id: " + reqId + "]: " + msg);
|
console.log("SERVER CLI MESSAGE [Request Id: " + reqId + "]: " + msg);
|
||||||
|
@ -2733,10 +2694,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
reqmessage: function (msg) {
|
reqmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.reqmessage(nmsg);
|
||||||
serverconsole.reqmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[34mSERVER REQUEST MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[34mSERVER REQUEST MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2745,10 +2705,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
resmessage: function (msg) {
|
resmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.resmessage(nmsg);
|
||||||
serverconsole.resmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[32mSERVER RESPONSE MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[32mSERVER RESPONSE MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2757,10 +2716,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
errmessage: function (msg) {
|
errmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.errmessage(nmsg);
|
||||||
serverconsole.errmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2769,10 +2727,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locerrmessage: function (msg) {
|
locerrmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locerrmessage(nmsg);
|
||||||
serverconsole.locerrmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[41mSERVER ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[41mSERVER ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -2781,10 +2738,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locwarnmessage: function (msg) {
|
locwarnmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locwarnmessage(nmsg);
|
||||||
serverconsole.locwarnmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[43mSERVER WARNING MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[43mSERVER WARNING MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -2793,10 +2749,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locmessage: function (msg) {
|
locmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locmessage(nmsg);
|
||||||
serverconsole.locmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER MESSAGE [Request Id: " + reqId + "]: " + msg);
|
console.log("SERVER MESSAGE [Request Id: " + reqId + "]: " + msg);
|
||||||
|
@ -2820,14 +2775,14 @@ if (!cluster.isPrimary) {
|
||||||
|
|
||||||
function modExecute(mods, ffinals) {
|
function modExecute(mods, ffinals) {
|
||||||
var proxyMods = [];
|
var proxyMods = [];
|
||||||
for (var i = 0; i < mods.length; i++) {
|
mods.forEach(function (mod) {
|
||||||
if (mods[i].proxyCallback !== undefined) proxyMods.push(mods[i]);
|
if (mod.proxyCallback !== undefined) proxyMods.push(mod);
|
||||||
}
|
});
|
||||||
|
|
||||||
var modFunction = ffinals;
|
var modFunction = ffinals;
|
||||||
for (var i = proxyMods.length - 1; i >= 0; i--) {
|
proxyMods.reverse().forEach(function(proxyMod) {
|
||||||
modFunction = proxyMods[i].callback(req, socket, head, configJSON, serverconsole, modFunction);
|
modFunction = proxyMod.proxyCallback(req, socket, head, configJSON, serverconsole, modFunction);
|
||||||
}
|
});
|
||||||
modFunction();
|
modFunction();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2847,10 +2802,9 @@ if (!cluster.isPrimary) {
|
||||||
var serverconsole = {
|
var serverconsole = {
|
||||||
climessage: function (msg) {
|
climessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.climessage(nmsg);
|
||||||
serverconsole.climessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER CLI MESSAGE [Request Id: " + reqId + "]: " + msg);
|
console.log("SERVER CLI MESSAGE [Request Id: " + reqId + "]: " + msg);
|
||||||
|
@ -2859,10 +2813,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
reqmessage: function (msg) {
|
reqmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.reqmessage(nmsg);
|
||||||
serverconsole.reqmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[34mSERVER REQUEST MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[34mSERVER REQUEST MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2871,10 +2824,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
resmessage: function (msg) {
|
resmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.resmessage(nmsg);
|
||||||
serverconsole.resmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[32mSERVER RESPONSE MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[32mSERVER RESPONSE MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2883,10 +2835,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
errmessage: function (msg) {
|
errmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.errmessage(nmsg);
|
||||||
serverconsole.errmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
console.log("\x1b[31mSERVER RESPONSE ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[37m\x1b[0m");
|
||||||
|
@ -2895,10 +2846,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locerrmessage: function (msg) {
|
locerrmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locerrmessage(nmsg);
|
||||||
serverconsole.locerrmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[41mSERVER ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[41mSERVER ERROR MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -2907,10 +2857,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locwarnmessage: function (msg) {
|
locwarnmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locwarnmessage(nmsg);
|
||||||
serverconsole.locwarnmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("\x1b[43mSERVER WARNING MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
console.log("\x1b[43mSERVER WARNING MESSAGE [Request Id: " + reqId + "]: " + msg + "\x1b[40m\x1b[0m");
|
||||||
|
@ -2919,10 +2868,9 @@ if (!cluster.isPrimary) {
|
||||||
},
|
},
|
||||||
locmessage: function (msg) {
|
locmessage: function (msg) {
|
||||||
if (msg.indexOf("\n") != -1) {
|
if (msg.indexOf("\n") != -1) {
|
||||||
var nmsg = msg.split("\n");
|
msg.split("\n").forEach(function (nmsg) {
|
||||||
for (var i = 0; i < nmsg.length; i++) {
|
serverconsole.locmessage(nmsg);
|
||||||
serverconsole.locmessage(nmsg[i]);
|
});
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log("SERVER MESSAGE [Request Id: " + reqId + "]: " + msg);
|
console.log("SERVER MESSAGE [Request Id: " + reqId + "]: " + msg);
|
||||||
|
@ -2933,10 +2881,9 @@ if (!cluster.isPrimary) {
|
||||||
|
|
||||||
function getCustomHeaders() {
|
function getCustomHeaders() {
|
||||||
var ph = JSON.parse(JSON.stringify(customHeaders));
|
var ph = JSON.parse(JSON.stringify(customHeaders));
|
||||||
var phk = Object.keys(ph);
|
Object.keys(ph).forEach(function (phk) {
|
||||||
for (var i = 0; i < phk.length; i++) {
|
if (typeof ph[phk] == "string") ph[phk] = ph[phk].replace(/\{path\}/g, req.url);
|
||||||
if (typeof ph[phk[i]] == "string") ph[phk[i]] = ph[phk[i]].replace(/\{path\}/g, request.url);
|
});
|
||||||
}
|
|
||||||
return ph;
|
return ph;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2969,7 +2916,7 @@ if (!cluster.isPrimary) {
|
||||||
if (!request.headers.host) request.headers.host = request.headers[":authority"];
|
if (!request.headers.host) request.headers.host = request.headers[":authority"];
|
||||||
(request.headers[":path"] == undefined ? (function () {})() : request.url = request.headers[":path"]);
|
(request.headers[":path"] == undefined ? (function () {})() : request.url = request.headers[":path"]);
|
||||||
request.protocol = request.headers[":scheme"];
|
request.protocol = request.headers[":scheme"];
|
||||||
var headers = [":path" || ":method"];
|
var headers = [":path", ":method"];
|
||||||
for (var i = 0; i < headers.length; i++) {
|
for (var i = 0; i < headers.length; i++) {
|
||||||
if (request.headers[headers[i]] == undefined) {
|
if (request.headers[headers[i]] == undefined) {
|
||||||
var cheaders = getCustomHeaders();
|
var cheaders = getCustomHeaders();
|
||||||
|
@ -3260,17 +3207,16 @@ if (!cluster.isPrimary) {
|
||||||
// Process custom headers if provided
|
// Process custom headers if provided
|
||||||
if (ch) {
|
if (ch) {
|
||||||
var chon = Object.keys(cheaders);
|
var chon = Object.keys(cheaders);
|
||||||
var chn = Object.keys(ch);
|
Object.keys(ch).forEach(function (chnS) {
|
||||||
for (var i = 0; i < chn.length; i++) {
|
var nhn = chnS;
|
||||||
var nhn = chn[i];
|
|
||||||
for (var j = 0; j < chon.length; j++) {
|
for (var j = 0; j < chon.length; j++) {
|
||||||
if (chon[j].toLowerCase() == chn[i].toLowerCase()) {
|
if (chon[j].toLowerCase() == chnS.toLowerCase()) {
|
||||||
nhn = chon[j];
|
nhn = chon[j];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ch[chn[i]]) cheaders[nhn] = ch[chn[i]];
|
if (ch[chnS]) cheaders[nhn] = ch[chnS];
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
cheaders["Content-Type"] = "text/html; charset=utf-8";
|
cheaders["Content-Type"] = "text/html; charset=utf-8";
|
||||||
|
@ -5193,21 +5139,21 @@ function start(init) {
|
||||||
exiting = true;
|
exiting = true;
|
||||||
allClusters = Object.keys(cluster.workers);
|
allClusters = Object.keys(cluster.workers);
|
||||||
}
|
}
|
||||||
for (var i = 0; i < allClusters.length; i++) {
|
allClusters.forEach(function (clusterID) {
|
||||||
try {
|
try {
|
||||||
if (cluster.workers[allClusters[i]]) {
|
if (cluster.workers[clusterID]) {
|
||||||
cluster.workers[allClusters[i]].on("message", msgListener);
|
cluster.workers[clusterID].on("message", msgListener);
|
||||||
cluster.workers[allClusters[i]].send(line);
|
cluster.workers[clusterID].send(line);
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (cluster.workers[allClusters[i]]) {
|
if (cluster.workers[clusterID]) {
|
||||||
cluster.workers[allClusters[i]].removeAllListeners("message");
|
cluster.workers[clusterID].removeAllListeners("message");
|
||||||
cluster.workers[allClusters[i]].on("message", bruteForceListenerWrapper(cluster.workers[allClusters[i]]));
|
cluster.workers[clusterID].on("message", bruteForceListenerWrapper(cluster.workers[clusterID]));
|
||||||
cluster.workers[allClusters[i]].on("message", listenConnListener);
|
cluster.workers[clusterID].on("message", listenConnListener);
|
||||||
}
|
}
|
||||||
serverconsole.climessage("Can't run command \"" + command + "\".");
|
serverconsole.climessage("Can't run command \"" + command + "\".");
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
if (command == "stop") {
|
if (command == "stop") {
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
reallyExiting = true;
|
reallyExiting = true;
|
||||||
|
|
Reference in a new issue