UNPKG

@datadome/module-nextjs

Version:

DataDome module for Next.js applications

55 lines 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertHeadersToMap = convertHeadersToMap; exports.getHeadersList = getHeadersList; exports.getAuthorizationLength = getAuthorizationLength; exports.stringify = stringify; exports.getCookieData = getCookieData; function convertHeadersToMap(reqHeaders, dataDomeResHeaders, listKey) { const map = new Map(); const list = dataDomeResHeaders.get(listKey); if (!list) { return map; } for (const header of list.split(' ')) { const value = dataDomeResHeaders.get(header); if (value) { if (header.toLowerCase() === 'set-cookie' && /domain=\.vercel\.app/i.test(value)) { map.set(header, value.replace(/domain=\.vercel\.app/i, `Domain=${reqHeaders.get('host')}`)); } else { map.set(header, value); } } } return map; } function getHeadersList(req) { return [...req.headers.keys()].join(','); } function getAuthorizationLength(req) { const authorization = req.headers.get('authorization'); return authorization === null || authorization === void 0 ? void 0 : authorization.length; } function stringify(obj) { return obj ? Object.keys(obj) .reduce((acc, key) => { const value = obj[key]; if (!value) { return acc; } acc.push(encodeURIComponent(key) + '=' + encodeURIComponent(value)); return acc; }, []) .join('&') : ''; } function getCookieData(cookies) { const datadomeCookie = cookies.get('datadome'); if (datadomeCookie !== undefined) { return datadomeCookie.value; } return ''; } //# sourceMappingURL=utils.js.map