UNPKG

@aikidosec/firewall

Version:

Zen by Aikido is an embedded Web Application Firewall that autonomously protects Node.js apps against common and critical attacks

30 lines (29 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.wrapMiddleware = wrapMiddleware; const contextFromRequest_1 = require("./contextFromRequest"); const Context_1 = require("../../agent/Context"); function wrapMiddleware(origMiddleware) { return function wrapped() { const applyOriginal = () => { return origMiddleware.apply( // @ts-expect-error We don't know the type of this this, // @ts-expect-error We don't know the type of arguments // eslint-disable-next-line prefer-rest-params arguments); }; // eslint-disable-next-line prefer-rest-params const args = Array.from(arguments); if (typeof args[0] !== "object" || Array.isArray(args[0]) || args[0] === null) { return applyOriginal(); } const ctx = args[0]; const context = (0, contextFromRequest_1.contextFromRequest)(ctx); return (0, Context_1.runWithContext)(context, () => { return applyOriginal(); }); }; }