UNPKG

@aikidosec/firewall

Version:

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

52 lines (51 loc) 3.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setRateLimitGroup = exports.addRestifyMiddleware = exports.addKoaMiddleware = exports.addFastifyHook = exports.addHapiMiddleware = exports.addHonoMiddleware = exports.addExpressMiddleware = exports.shouldBlockRequest = exports.markUnsafe = exports.setUser = void 0; /* eslint-disable no-console */ const isFirewallSupported_1 = require("./helpers/isFirewallSupported"); const shouldEnableFirewall_1 = require("./helpers/shouldEnableFirewall"); const user_1 = require("./agent/context/user"); Object.defineProperty(exports, "setUser", { enumerable: true, get: function () { return user_1.setUser; } }); const markUnsafe_1 = require("./agent/context/markUnsafe"); Object.defineProperty(exports, "markUnsafe", { enumerable: true, get: function () { return markUnsafe_1.markUnsafe; } }); const shouldBlockRequest_1 = require("./middleware/shouldBlockRequest"); Object.defineProperty(exports, "shouldBlockRequest", { enumerable: true, get: function () { return shouldBlockRequest_1.shouldBlockRequest; } }); const express_1 = require("./middleware/express"); Object.defineProperty(exports, "addExpressMiddleware", { enumerable: true, get: function () { return express_1.addExpressMiddleware; } }); const hono_1 = require("./middleware/hono"); Object.defineProperty(exports, "addHonoMiddleware", { enumerable: true, get: function () { return hono_1.addHonoMiddleware; } }); const hapi_1 = require("./middleware/hapi"); Object.defineProperty(exports, "addHapiMiddleware", { enumerable: true, get: function () { return hapi_1.addHapiMiddleware; } }); const fastify_1 = require("./middleware/fastify"); Object.defineProperty(exports, "addFastifyHook", { enumerable: true, get: function () { return fastify_1.addFastifyHook; } }); const koa_1 = require("./middleware/koa"); Object.defineProperty(exports, "addKoaMiddleware", { enumerable: true, get: function () { return koa_1.addKoaMiddleware; } }); const restify_1 = require("./middleware/restify"); Object.defineProperty(exports, "addRestifyMiddleware", { enumerable: true, get: function () { return restify_1.addRestifyMiddleware; } }); const isESM_1 = require("./helpers/isESM"); const indexImportGuard_1 = require("./helpers/indexImportGuard"); const group_1 = require("./ratelimiting/group"); Object.defineProperty(exports, "setRateLimitGroup", { enumerable: true, get: function () { return group_1.setRateLimitGroup; } }); const supported = (0, isFirewallSupported_1.default)(); const shouldEnable = (0, shouldEnableFirewall_1.default)(); const notAlreadyImported = (0, indexImportGuard_1.checkIndexImportGuard)(); if (supported && shouldEnable && notAlreadyImported) { if ((0, isESM_1.isESM)()) { console.warn("AIKIDO: Your application seems to be running in ESM mode. Zen does not support ESM at runtime yet."); } require("./agent/protect").protect(); } // Required for ESM / TypeScript default export support // e.g. import Zen from '@aikidosec/firewall'; would not work without this, as Zen.setUser would be undefined exports.default = { setUser: user_1.setUser, markUnsafe: markUnsafe_1.markUnsafe, shouldBlockRequest: shouldBlockRequest_1.shouldBlockRequest, addExpressMiddleware: express_1.addExpressMiddleware, addHonoMiddleware: hono_1.addHonoMiddleware, addHapiMiddleware: hapi_1.addHapiMiddleware, addFastifyHook: fastify_1.addFastifyHook, addKoaMiddleware: koa_1.addKoaMiddleware, addRestifyMiddleware: restify_1.addRestifyMiddleware, setRateLimitGroup: group_1.setRateLimitGroup, };