@aikidosec/firewall
Version:
Zen by Aikido is an embedded Web Application Firewall that autonomously protects Node.js apps against common and critical attacks
27 lines (26 loc) • 1.04 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;
const url = req.protocol + "://" + req.get("host") + req.originalUrl;
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: url,
headers: req.headers,
routeParams: req.params,
query: req.query,
/* c8 ignore next */
cookies: req.cookies ? req.cookies : {},
source: "express",
route: (0, buildRouteFromURL_1.buildRouteFromURL)(url),
subdomains: req.subdomains,
};
}