UNPKG

@aikidosec/firewall

Version:

Zen by Aikido is an embedded Application Firewall that autonomously protects Node.js apps against common and critical attacks, provides rate limiting, detects malicious traffic (including bots), and more.

58 lines (57 loc) 4.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setRateLimitGroup = exports.addRestifyMiddleware = exports.addKoaMiddleware = exports.fastifyHook = 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; } }); Object.defineProperty(exports, "fastifyHook", { enumerable: true, get: function () { return fastify_1.fastifyHook; } }); 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 isLibBundled_1 = require("./helpers/isLibBundled"); 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."); } if ((0, isLibBundled_1.isLibBundled)()) { console.warn("AIKIDO: Your application seems to be using a bundler without externalizing Zen and the packages that should be protected. Zen will not function as intended. See https://github.com/AikidoSec/firewall-node/blob/main/docs/bundler.md for more information."); } 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, fastifyHook: fastify_1.fastifyHook, addKoaMiddleware: koa_1.addKoaMiddleware, addRestifyMiddleware: restify_1.addRestifyMiddleware, setRateLimitGroup: group_1.setRateLimitGroup, };