UNPKG

@datadome/node-core

Version:

Core package for server-side modules using Node.js

76 lines (62 loc) 1.63 kB
/** * Length limits for values to validate with the DataDome API. * @module @datadome/node-core/limits */ /// <reference path="./_typedefs.js" /> /** * * @param {string} name - The header name * @returns {number} The truncation to respect for the given header name */ module.exports = function (name) { switch (name) { case 'XForwardedForIP': return -512; case 'SecCHDeviceMemory': case 'SecCHUAMobile': case 'SecFetchUser': return 8; case 'SecCHUAArch': return 16; case 'SecCHUAPlatform': case 'SecFetchDest': case 'SecFetchMode': return 32; case 'ContentType': case 'SecFetchSite': return 64; case 'AcceptCharset': case 'AcceptEncoding': case 'CacheControl': case 'ClientID': case 'Connection': case 'From': case 'GraphQLOperationName': case 'Pragma': case 'SecCHUA': case 'SecCHUAModel': case 'TrueClientIP': case 'UserID': case 'X-Real-IP': case 'X-Requested-With': return 128; case 'AcceptLanguage': case 'Via': case 'SecCHUAFullVersionList': return 256; case 'Accept': case 'HeadersList': case 'Host': case 'Origin': case 'ServerHostname': case 'ServerName': return 512; case 'UserAgent': return 768; case 'Referer': return 1024; case 'Request': return 2048; } return 0; };