UNPKG

@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.28 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 parseCookies_1 = require("../../helpers/parseCookies"); function contextFromRequest(ctx) { var _a; return { method: ctx.request.method, remoteAddress: (0, getIPAddressFromRequest_1.getIPAddressFromRequest)({ headers: ctx.request.headers, remoteAddress: (_a = ctx.request.socket) === null || _a === void 0 ? void 0 : _a.remoteAddress, }), // Body is not available by default in Koa, only if a body parser is used body: ctx.request.body ? ctx.request.body : undefined, url: ctx.request.href, headers: ctx.request.headers, // Only available if e.g. koa-router is used routeParams: ctx.params ? ctx.params : {}, query: ctx.request.query, cookies: ctx.req.headers.cookie ? (0, parseCookies_1.parse)(ctx.req.headers.cookie) : {}, source: "koa", route: (0, buildRouteFromURL_1.buildRouteFromURL)(ctx.request.href), subdomains: ctx.request.subdomains, }; }