Compare commits

...

2 commits
main ... stable

3 changed files with 25 additions and 9 deletions

View file

@ -1,4 +1,4 @@
{
"name": "Integration with ModSecurity",
"version": "Nightly-GitMain"
"version": "1.0.1"
}

View file

@ -421,16 +421,32 @@ module.exports = (req, res, logFacilities, config, next) => {
return processIntervention();
}
let key = null;
req.rawHeaders.forEach((v) => {
if (key === null) {
key = v;
} else {
transaction.addRequestHeader(key, v);
key = null;
let headerIntervene = false;
Object.keys(req.headers).every((key) => {
if (typeof req.headers[key] == "string") {
securityResponse = transaction.addRequestHeader(key, req.headers[key]);
if (typeof securityResponse === "object") {
headerIntervene = true;
return false;
}
} else if (Array.isArray(req.headers[key])) {
req.headers[key].every((value) => {
securityResponse = transaction.addRequestHeader(key, value);
if (typeof securityResponse === "object") {
headerIntervene = true;
return false;
}
return true;
});
if (headerIntervene) return false;
}
return true;
});
if (headerIntervene) {
return processIntervention();
}
securityResponse = transaction.processRequestHeaders();
if (typeof securityResponse === "object") {
return processIntervention();

View file

@ -26,7 +26,7 @@ describe("ModSecurity Integration", () => {
localAddress: "127.0.0.1",
localPort: 8080
};
req.headers = {};
req.headers = { Host: "example.com" };
req._readableState = {
length: 0,
ended: true