UNPKG

@aikidosec/firewall

Version:

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

26 lines (25 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.contextFromRequest = contextFromRequest; const buildRouteFromURL_1 = require("../../helpers/buildRouteFromURL"); const getIPAddressFromRequest_1 = require("../../helpers/getIPAddressFromRequest"); const isPlainObject_1 = require("../../helpers/isPlainObject"); const parseCookies_1 = require("../../helpers/parseCookies"); function contextFromRequest(req) { var _a, _b; 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.href(), headers: req.headers || {}, routeParams: req.params || {}, query: (0, isPlainObject_1.isPlainObject)(req.query) ? req.query : {}, cookies: ((_b = req.headers) === null || _b === void 0 ? void 0 : _b.cookie) ? (0, parseCookies_1.parse)(req.headers.cookie) : {}, source: "restify", route: (0, buildRouteFromURL_1.buildRouteFromURL)(req.href()), }; }