UNPKG

@splitsoftware/splitio-commons

Version:
36 lines (35 loc) 1.22 kB
import { objectAssign } from '../utils/lang/objectAssign'; var FORBIDDEN_HEADERS = new Set([ 'splitsdkclientkey', 'splitsdkversion', 'splitsdkmachineip', 'splitsdkmachinename', 'splitsdkimpressionsmode', 'host', 'referrer', 'content-type', 'content-length', 'content-encoding', 'accept', 'keep-alive', 'x-fastly-debug' ]); export function decorateHeaders(settings, headers) { var _a; if ((_a = settings.sync.requestOptions) === null || _a === void 0 ? void 0 : _a.getHeaderOverrides) { try { var headerOverrides_1 = settings.sync.requestOptions.getHeaderOverrides({ headers: objectAssign({}, headers) }); Object.keys(headerOverrides_1) .filter(function (key) { return !FORBIDDEN_HEADERS.has(key.toLowerCase()); }) .forEach(function (key) { return headers[key] = headerOverrides_1[key]; }); } catch (e) { settings.log.error('Problem adding custom headers to request decorator: ' + e); } } return headers; } export function removeNonISO88591(input) { // eslint-disable-next-line no-control-regex return input.replace(/[^\x00-\xFF]/g, ''); }