@aikidosec/firewall
Version:
Zen by Aikido is an embedded Web Application Firewall that autonomously protects Node.js apps against common and critical attacks
28 lines (27 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.contextFromRequest = contextFromRequest;
const buildRouteFromURL_1 = require("../../helpers/buildRouteFromURL");
const getIPAddressFromRequest_1 = require("../../helpers/getIPAddressFromRequest");
function contextFromRequest(req) {
var _a;
return {
method: req.method,
remoteAddress: (0, getIPAddressFromRequest_1.getIPAddressFromRequest)({
headers: req.headers,
remoteAddress: (_a = req.socket) === null || _a === void 0 ? void 0 : _a.remoteAddress,
}),
body: req.body ? req.body : undefined,
url: req.url,
headers: req.headers,
// @ts-expect-error not typed
routeParams: req.params,
// @ts-expect-error not typed
query: req.query,
/* c8 ignore next */
// @ts-expect-error not typed
cookies: req.cookies ? req.cookies : {},
source: "fastify",
route: (0, buildRouteFromURL_1.buildRouteFromURL)(req.url),
};
}