perimeterx-js-core 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/README.md +20 -15
  2. package/lib/action/Action.d.ts +6 -0
  3. package/lib/action/Action.js +7 -0
  4. package/lib/action/ActionData.d.ts +11 -0
  5. package/lib/action/ActionData.js +1 -0
  6. package/lib/action/ActionPriorityOrder.d.ts +2 -0
  7. package/lib/action/ActionPriorityOrder.js +7 -0
  8. package/lib/action/Decision.d.ts +6 -0
  9. package/lib/action/Decision.js +1 -0
  10. package/lib/action/index.d.ts +4 -0
  11. package/lib/action/index.js +4 -0
  12. package/lib/activities/ActivityType.js +2 -5
  13. package/lib/activities/HttpActivityClient.d.ts +7 -7
  14. package/lib/activities/HttpActivityClient.js +46 -95
  15. package/lib/activities/HttpBatchedActivityClient.d.ts +2 -2
  16. package/lib/activities/HttpBatchedActivityClient.js +46 -115
  17. package/lib/activities/IActivityClient.d.ts +3 -3
  18. package/lib/activities/IActivityClient.js +1 -2
  19. package/lib/activities/constants.js +1 -4
  20. package/lib/activities/index.d.ts +7 -6
  21. package/lib/activities/index.js +7 -9
  22. package/lib/activities/model/Activity.js +1 -2
  23. package/lib/activities/model/ActivityDetails.d.ts +9 -7
  24. package/lib/activities/model/ActivityDetails.js +1 -2
  25. package/lib/activities/model/index.d.ts +2 -0
  26. package/lib/activities/model/index.js +2 -0
  27. package/lib/activities/utils.d.ts +11 -8
  28. package/lib/activities/utils.js +65 -43
  29. package/lib/additional_activity_handler/AdditionalActivityHandler.d.ts +2 -2
  30. package/lib/additional_activity_handler/AdditionalActivityHandler.js +1 -2
  31. package/lib/additional_activity_handler/AdditionalActivityHandlerUtils.d.ts +2 -2
  32. package/lib/additional_activity_handler/AdditionalActivityHandlerUtils.js +11 -53
  33. package/lib/additional_activity_handler/index.d.ts +2 -2
  34. package/lib/additional_activity_handler/index.js +2 -5
  35. package/lib/{block_handler → blocker}/BlockAction.d.ts +0 -1
  36. package/lib/blocker/BlockAction.js +6 -0
  37. package/lib/blocker/BlockActionToProductMap.d.ts +3 -0
  38. package/lib/blocker/BlockActionToProductMap.js +7 -0
  39. package/lib/blocker/BlockActionToWordMap.d.ts +2 -0
  40. package/lib/blocker/BlockActionToWordMap.js +6 -0
  41. package/lib/blocker/IBlocker.d.ts +5 -0
  42. package/lib/blocker/IBlocker.js +1 -0
  43. package/lib/blocker/IConditionalBlocker.d.ts +9 -0
  44. package/lib/blocker/IConditionalBlocker.js +1 -0
  45. package/lib/blocker/index.d.ts +5 -0
  46. package/lib/blocker/index.js +5 -0
  47. package/lib/config/ConfigurationParams.d.ts +20 -12
  48. package/lib/config/ConfigurationParams.js +1 -2
  49. package/lib/config/DefaultConfigurations.d.ts +1 -1
  50. package/lib/config/DefaultConfigurations.js +15 -13
  51. package/lib/config/IConfiguration.d.ts +103 -10
  52. package/lib/config/IConfiguration.js +1 -2
  53. package/lib/config/StaticConfigurationBase.d.ts +29 -6
  54. package/lib/config/StaticConfigurationBase.js +244 -394
  55. package/lib/config/index.js +2 -7
  56. package/lib/context/DefaultContext.d.ts +46 -0
  57. package/lib/context/DefaultContext.js +82 -0
  58. package/lib/context/index.d.ts +2 -4
  59. package/lib/context/index.js +2 -20
  60. package/lib/context/interfaces/IContext.d.ts +111 -0
  61. package/lib/context/interfaces/IContext.js +1 -0
  62. package/lib/context/interfaces/MobileData.d.ts +23 -0
  63. package/lib/context/interfaces/MobileData.js +1 -0
  64. package/lib/context/interfaces/ReadonlyContext.d.ts +3 -0
  65. package/lib/context/interfaces/ReadonlyContext.js +1 -0
  66. package/lib/context/interfaces/RequestData.d.ts +41 -0
  67. package/lib/context/interfaces/RequestData.js +1 -0
  68. package/lib/context/interfaces/RiskApiData.d.ts +27 -0
  69. package/lib/context/interfaces/RiskApiData.js +1 -0
  70. package/lib/context/interfaces/ServerData.d.ts +18 -0
  71. package/lib/context/interfaces/ServerData.js +1 -0
  72. package/lib/context/interfaces/TlsData.d.ts +30 -0
  73. package/lib/context/interfaces/TlsData.js +1 -0
  74. package/lib/context/interfaces/TokenData.d.ts +16 -0
  75. package/lib/context/interfaces/TokenData.js +1 -0
  76. package/lib/context/interfaces/index.d.ts +8 -0
  77. package/lib/context/interfaces/index.js +8 -0
  78. package/lib/cors/CustomBlockResponseHeadersHandler.d.ts +2 -2
  79. package/lib/cors/CustomBlockResponseHeadersHandler.js +1 -2
  80. package/lib/cors/CustomPreflightHandler.d.ts +2 -2
  81. package/lib/cors/CustomPreflightHandler.js +1 -2
  82. package/lib/cors/DefaultCors.d.ts +9 -9
  83. package/lib/cors/DefaultCors.js +39 -87
  84. package/lib/cors/ICors.d.ts +7 -7
  85. package/lib/cors/ICors.js +1 -2
  86. package/lib/cors/constants.js +2 -5
  87. package/lib/cors/index.js +2 -20
  88. package/lib/custom_parameters/CustomParameters.js +1 -2
  89. package/lib/custom_parameters/CustomParametersFunction.d.ts +1 -2
  90. package/lib/custom_parameters/CustomParametersFunction.js +1 -2
  91. package/lib/custom_parameters/CustomParametersUtils.d.ts +2 -2
  92. package/lib/custom_parameters/CustomParametersUtils.js +18 -60
  93. package/lib/custom_parameters/index.js +1 -5
  94. package/lib/enforcer/EnforcerBase.d.ts +43 -85
  95. package/lib/enforcer/EnforcerBase.js +120 -411
  96. package/lib/enforcer/IEnforcer.js +1 -2
  97. package/lib/enforcer/index.d.ts +2 -1
  98. package/lib/enforcer/index.js +2 -5
  99. package/lib/enforcer/options/EnforcerBaseOptions.d.ts +25 -0
  100. package/lib/enforcer/options/EnforcerBaseOptions.js +1 -0
  101. package/lib/enforcer/options/EnforcerOptionsType.d.ts +4 -0
  102. package/lib/enforcer/options/EnforcerOptionsType.js +1 -0
  103. package/lib/enforcer/options/EnforcerV2Options.d.ts +5 -0
  104. package/lib/enforcer/options/EnforcerV2Options.js +1 -0
  105. package/lib/enforcer/options/EnforcerV3Options.d.ts +7 -0
  106. package/lib/enforcer/options/EnforcerV3Options.js +1 -0
  107. package/lib/enforcer/options/index.d.ts +4 -0
  108. package/lib/enforcer/options/index.js +4 -0
  109. package/lib/filter/FilterReason.d.ts +2 -1
  110. package/lib/filter/FilterReason.js +3 -5
  111. package/lib/filter/IFilter.d.ts +4 -4
  112. package/lib/filter/IFilter.js +1 -2
  113. package/lib/filter/index.d.ts +2 -3
  114. package/lib/filter/index.js +2 -7
  115. package/lib/first_party/FirstPartyData.d.ts +5 -0
  116. package/lib/first_party/FirstPartyData.js +1 -0
  117. package/lib/first_party/IFirstParty.d.ts +5 -5
  118. package/lib/first_party/IFirstParty.js +1 -2
  119. package/lib/first_party/index.d.ts +2 -4
  120. package/lib/first_party/index.js +2 -21
  121. package/lib/graphql/DefaultGraphQLParser.d.ts +6 -5
  122. package/lib/graphql/DefaultGraphQLParser.js +77 -133
  123. package/lib/graphql/IGraphQLParser.d.ts +5 -4
  124. package/lib/graphql/IGraphQLParser.js +1 -2
  125. package/lib/graphql/index.d.ts +3 -5
  126. package/lib/graphql/index.js +3 -7
  127. package/lib/graphql/model/GraphQLData.js +1 -2
  128. package/lib/graphql/model/GraphQLOperation.js +1 -2
  129. package/lib/graphql/model/GraphQLOperationType.js +2 -5
  130. package/lib/graphql/model/index.d.ts +3 -0
  131. package/lib/graphql/model/index.js +3 -0
  132. package/lib/http/impl/FormDataImpl.d.ts +12 -0
  133. package/lib/http/impl/FormDataImpl.js +36 -0
  134. package/lib/http/impl/MinimalResponseImpl.d.ts +3 -3
  135. package/lib/http/impl/MinimalResponseImpl.js +3 -8
  136. package/lib/http/impl/OutgoingRequestImpl.d.ts +3 -3
  137. package/lib/http/impl/OutgoingRequestImpl.js +5 -10
  138. package/lib/http/impl/index.d.ts +1 -0
  139. package/lib/http/impl/index.js +4 -19
  140. package/lib/http/impl/phin/PhinHttpClient.js +30 -70
  141. package/lib/http/impl/phin/PhinIncomingResponse.d.ts +4 -5
  142. package/lib/http/impl/phin/PhinIncomingResponse.js +22 -70
  143. package/lib/http/impl/phin/index.js +2 -18
  144. package/lib/http/index.js +3 -19
  145. package/lib/http/interfaces/IBody.d.ts +10 -12
  146. package/lib/http/interfaces/IBody.js +1 -2
  147. package/lib/http/interfaces/IFormData.d.ts +9 -0
  148. package/lib/http/interfaces/IFormData.js +1 -0
  149. package/lib/http/interfaces/IHeaders.js +1 -2
  150. package/lib/http/interfaces/IHttpClient.js +1 -2
  151. package/lib/http/interfaces/IIncomingRequest.d.ts +10 -6
  152. package/lib/http/interfaces/IIncomingRequest.js +1 -2
  153. package/lib/http/interfaces/IIncomingResponse.d.ts +2 -2
  154. package/lib/http/interfaces/IIncomingResponse.js +1 -2
  155. package/lib/http/interfaces/IMinimalResponse.d.ts +2 -2
  156. package/lib/http/interfaces/IMinimalResponse.js +1 -2
  157. package/lib/http/interfaces/IOutgoingRequest.d.ts +2 -2
  158. package/lib/http/interfaces/IOutgoingRequest.js +1 -2
  159. package/lib/http/interfaces/IOutgoingResponse.d.ts +5 -1
  160. package/lib/http/interfaces/IOutgoingResponse.js +1 -2
  161. package/lib/http/interfaces/IURL.d.ts +6 -0
  162. package/lib/http/interfaces/IURL.js +1 -0
  163. package/lib/http/interfaces/ReadonlyHeaders.d.ts +6 -0
  164. package/lib/http/interfaces/ReadonlyHeaders.js +14 -0
  165. package/lib/http/interfaces/index.d.ts +3 -1
  166. package/lib/http/interfaces/index.js +11 -25
  167. package/lib/http/utils/ContentType.js +2 -5
  168. package/lib/http/utils/HttpMethod.js +2 -5
  169. package/lib/http/utils/MinimalResponseUtils.d.ts +6 -6
  170. package/lib/http/utils/MinimalResponseUtils.js +31 -48
  171. package/lib/http/utils/MultipartFormDataUtils.d.ts +6 -0
  172. package/lib/http/utils/MultipartFormDataUtils.js +45 -0
  173. package/lib/http/utils/constants.js +9 -12
  174. package/lib/http/utils/index.d.ts +3 -1
  175. package/lib/http/utils/index.js +5 -21
  176. package/lib/index.d.ts +4 -1
  177. package/lib/index.js +22 -35
  178. package/lib/logger/DefaultLogger.js +7 -28
  179. package/lib/logger/ILogger.js +1 -2
  180. package/lib/logger/LoggerBase.d.ts +2 -0
  181. package/lib/logger/LoggerBase.js +24 -22
  182. package/lib/logger/LoggerSeverity.js +2 -5
  183. package/lib/logger/index.js +3 -9
  184. package/lib/phase/IPhase.d.ts +5 -0
  185. package/lib/phase/IPhase.js +1 -0
  186. package/lib/phase/PhaseResult.d.ts +5 -0
  187. package/lib/phase/PhaseResult.js +1 -0
  188. package/lib/phase/flow/EnforceFlow.d.ts +6 -0
  189. package/lib/phase/flow/EnforceFlow.js +15 -0
  190. package/lib/phase/flow/FilterFlow.d.ts +6 -0
  191. package/lib/phase/flow/FilterFlow.js +12 -0
  192. package/lib/phase/flow/PostEnforceFlow.d.ts +6 -0
  193. package/lib/phase/flow/PostEnforceFlow.js +10 -0
  194. package/lib/phase/flow/index.d.ts +3 -0
  195. package/lib/phase/flow/index.js +3 -0
  196. package/lib/phase/impl/AdditionalActivityHandlerPhase.d.ts +9 -0
  197. package/lib/phase/impl/AdditionalActivityHandlerPhase.js +22 -0
  198. package/lib/phase/impl/CompositePhase.d.ts +8 -0
  199. package/lib/phase/impl/CompositePhase.js +26 -0
  200. package/lib/phase/impl/CreateBlockResponsePhase.d.ts +17 -0
  201. package/lib/phase/impl/CreateBlockResponsePhase.js +60 -0
  202. package/lib/phase/impl/DecideActionPhase.d.ts +19 -0
  203. package/lib/phase/impl/DecideActionPhase.js +56 -0
  204. package/lib/phase/impl/EnrichContextFromRequestPhase.d.ts +18 -0
  205. package/lib/phase/impl/EnrichContextFromRequestPhase.js +59 -0
  206. package/lib/phase/impl/EnrichContextFromResponsePhase.d.ts +10 -0
  207. package/lib/phase/impl/EnrichContextFromResponsePhase.js +29 -0
  208. package/lib/phase/impl/FilterPhase.d.ts +9 -0
  209. package/lib/phase/impl/FilterPhase.js +19 -0
  210. package/lib/phase/impl/FirstPartyPhase.d.ts +12 -0
  211. package/lib/phase/impl/FirstPartyPhase.js +42 -0
  212. package/lib/phase/impl/ModifyIncomingRequestPhase.d.ts +9 -0
  213. package/lib/phase/impl/ModifyIncomingRequestPhase.js +20 -0
  214. package/lib/phase/impl/ModifyOutgoingResponsePhase.d.ts +9 -0
  215. package/lib/phase/impl/ModifyOutgoingResponsePhase.js +25 -0
  216. package/lib/phase/impl/ParseTokenPhase.d.ts +10 -0
  217. package/lib/phase/impl/ParseTokenPhase.js +37 -0
  218. package/lib/phase/impl/PreflightPhase.d.ts +12 -0
  219. package/lib/phase/impl/PreflightPhase.js +28 -0
  220. package/lib/phase/impl/RiskApiPhase.d.ts +17 -0
  221. package/lib/phase/impl/RiskApiPhase.js +76 -0
  222. package/lib/phase/impl/SendAsyncActivitiesOnRequestPhase.d.ts +10 -0
  223. package/lib/phase/impl/SendAsyncActivitiesOnRequestPhase.js +28 -0
  224. package/lib/phase/impl/SendAsyncActivitiesOnResponsePhase.d.ts +9 -0
  225. package/lib/phase/impl/SendAsyncActivitiesOnResponsePhase.js +20 -0
  226. package/lib/phase/impl/TelemetryPhase.d.ts +10 -0
  227. package/lib/phase/impl/TelemetryPhase.js +29 -0
  228. package/lib/phase/impl/index.d.ts +16 -0
  229. package/lib/phase/impl/index.js +16 -0
  230. package/lib/phase/index.d.ts +4 -0
  231. package/lib/phase/index.js +4 -0
  232. package/lib/products/account_defender/AccountDefender.d.ts +23 -0
  233. package/lib/products/account_defender/AccountDefender.js +98 -0
  234. package/lib/products/account_defender/AccountDefenderData.d.ts +6 -0
  235. package/lib/products/account_defender/AccountDefenderData.js +1 -0
  236. package/lib/products/account_defender/IAccountDefender.d.ts +4 -0
  237. package/lib/products/account_defender/IAccountDefender.js +1 -0
  238. package/lib/products/account_defender/JwtData.d.ts +4 -0
  239. package/lib/products/account_defender/JwtData.js +1 -0
  240. package/lib/products/account_defender/constants.d.ts +1 -0
  241. package/lib/products/account_defender/constants.js +1 -0
  242. package/lib/products/account_defender/index.d.ts +5 -0
  243. package/lib/products/account_defender/index.js +5 -0
  244. package/lib/products/bot_defender/BotDefender.d.ts +47 -0
  245. package/lib/products/bot_defender/BotDefender.js +135 -0
  246. package/lib/products/bot_defender/BotDefenderActionData.d.ts +7 -0
  247. package/lib/products/bot_defender/BotDefenderActionData.js +6 -0
  248. package/lib/products/bot_defender/BotDefenderData.d.ts +13 -0
  249. package/lib/products/bot_defender/BotDefenderData.js +1 -0
  250. package/lib/products/bot_defender/BotDefenderUtils.d.ts +5 -0
  251. package/lib/products/bot_defender/BotDefenderUtils.js +19 -0
  252. package/lib/products/bot_defender/IBotDefender.d.ts +7 -0
  253. package/lib/products/bot_defender/IBotDefender.js +1 -0
  254. package/lib/products/bot_defender/block/DefaultBotDefenderBlocker.d.ts +14 -0
  255. package/lib/products/bot_defender/block/DefaultBotDefenderBlocker.js +39 -0
  256. package/lib/products/bot_defender/block/captcha/CaptchaBlocker.d.ts +13 -0
  257. package/lib/products/bot_defender/block/captcha/CaptchaBlocker.js +20 -0
  258. package/lib/products/bot_defender/block/captcha/HtmlCaptchaBlocker.d.ts +9 -0
  259. package/lib/products/bot_defender/block/captcha/HtmlCaptchaBlocker.js +20 -0
  260. package/lib/products/bot_defender/block/captcha/JsonCaptchaBlocker.d.ts +10 -0
  261. package/lib/products/bot_defender/block/captcha/JsonCaptchaBlocker.js +38 -0
  262. package/lib/products/bot_defender/block/captcha/MobileCaptchaBlocker.d.ts +12 -0
  263. package/lib/products/bot_defender/block/captcha/MobileCaptchaBlocker.js +34 -0
  264. package/lib/products/bot_defender/block/captcha/index.d.ts +4 -0
  265. package/lib/products/bot_defender/block/captcha/index.js +4 -0
  266. package/lib/products/bot_defender/block/index.d.ts +5 -0
  267. package/lib/products/bot_defender/block/index.js +5 -0
  268. package/lib/{block_handler → products/bot_defender/block}/model/BlockData.d.ts +1 -1
  269. package/lib/products/bot_defender/block/model/BlockData.js +1 -0
  270. package/lib/products/bot_defender/block/model/JsonBlockPayload.js +1 -0
  271. package/lib/products/bot_defender/block/model/MobileBlockPayload.js +1 -0
  272. package/lib/products/bot_defender/block/model/index.d.ts +3 -0
  273. package/lib/products/bot_defender/block/model/index.js +3 -0
  274. package/lib/products/bot_defender/block/templates/captcha_template.js +50 -0
  275. package/lib/products/bot_defender/block/templates/index.d.ts +2 -0
  276. package/lib/products/bot_defender/block/templates/index.js +2 -0
  277. package/lib/products/bot_defender/block/templates/rate_limit_template.js +10 -0
  278. package/lib/products/bot_defender/block/utils.d.ts +5 -0
  279. package/lib/products/bot_defender/block/utils.js +43 -0
  280. package/lib/products/bot_defender/filter/DefaultBotDefenderFilter.d.ts +16 -0
  281. package/lib/products/bot_defender/filter/DefaultBotDefenderFilter.js +51 -0
  282. package/lib/products/bot_defender/filter/index.d.ts +1 -0
  283. package/lib/products/bot_defender/filter/index.js +1 -0
  284. package/lib/products/bot_defender/first_party/DefaultBotDefenderFirstParty.d.ts +20 -0
  285. package/lib/products/bot_defender/first_party/DefaultBotDefenderFirstParty.js +129 -0
  286. package/lib/products/bot_defender/first_party/FirstPartySuffix.d.ts +5 -0
  287. package/lib/products/bot_defender/first_party/FirstPartySuffix.js +6 -0
  288. package/lib/{first_party → products/bot_defender/first_party}/constants.d.ts +5 -2
  289. package/lib/products/bot_defender/first_party/constants.js +36 -0
  290. package/lib/products/bot_defender/first_party/index.d.ts +4 -0
  291. package/lib/products/bot_defender/first_party/index.js +4 -0
  292. package/lib/products/bot_defender/first_party/utils.d.ts +11 -0
  293. package/lib/products/bot_defender/first_party/utils.js +46 -0
  294. package/lib/products/bot_defender/index.d.ts +9 -0
  295. package/lib/products/bot_defender/index.js +9 -0
  296. package/lib/{block_handler/BlockReason.d.ts → products/bot_defender/reasons/BotDefenderBlockReason.d.ts} +1 -1
  297. package/lib/products/bot_defender/reasons/BotDefenderBlockReason.js +5 -0
  298. package/lib/{utils/PassReason.d.ts → products/bot_defender/reasons/BotDefenderPassReason.d.ts} +1 -1
  299. package/lib/products/bot_defender/reasons/BotDefenderPassReason.js +7 -0
  300. package/lib/products/bot_defender/reasons/BotDefenderReasonType.d.ts +5 -0
  301. package/lib/products/bot_defender/reasons/BotDefenderReasonType.js +1 -0
  302. package/lib/{risk_api/S2SCallReason.d.ts → products/bot_defender/reasons/BotDefenderS2SCallReason.d.ts} +1 -1
  303. package/lib/products/bot_defender/reasons/BotDefenderS2SCallReason.js +13 -0
  304. package/lib/products/bot_defender/reasons/index.d.ts +4 -0
  305. package/lib/products/bot_defender/reasons/index.js +4 -0
  306. package/lib/products/credential_intelligence/CredentialIntelligence.d.ts +22 -0
  307. package/lib/products/credential_intelligence/CredentialIntelligence.js +96 -0
  308. package/lib/products/credential_intelligence/ICredentialIntelligence.d.ts +4 -0
  309. package/lib/products/credential_intelligence/ICredentialIntelligence.js +1 -0
  310. package/lib/products/credential_intelligence/constants.d.ts +4 -0
  311. package/lib/products/credential_intelligence/constants.js +4 -0
  312. package/lib/products/credential_intelligence/endpoint/CredentialEndpoint.d.ts +21 -0
  313. package/lib/products/credential_intelligence/endpoint/CredentialEndpoint.js +37 -0
  314. package/lib/products/credential_intelligence/endpoint/CredentialEndpointConfiguration.d.ts +74 -0
  315. package/lib/products/credential_intelligence/endpoint/CredentialEndpointConfiguration.js +1 -0
  316. package/lib/products/credential_intelligence/endpoint/CredentialEndpointManager.d.ts +12 -0
  317. package/lib/products/credential_intelligence/endpoint/CredentialEndpointManager.js +32 -0
  318. package/lib/products/credential_intelligence/endpoint/ICredentialEndpoint.d.ts +9 -0
  319. package/lib/products/credential_intelligence/endpoint/ICredentialEndpoint.js +1 -0
  320. package/lib/products/credential_intelligence/endpoint/extractor/BodyCredentialExtractor.d.ts +15 -0
  321. package/lib/products/credential_intelligence/endpoint/extractor/BodyCredentialExtractor.js +64 -0
  322. package/lib/products/credential_intelligence/endpoint/extractor/CredentialExtractorFactory.d.ts +5 -0
  323. package/lib/products/credential_intelligence/endpoint/extractor/CredentialExtractorFactory.js +21 -0
  324. package/lib/products/credential_intelligence/endpoint/extractor/CustomCredentialExtractor.d.ts +9 -0
  325. package/lib/products/credential_intelligence/endpoint/extractor/CustomCredentialExtractor.js +24 -0
  326. package/lib/products/credential_intelligence/endpoint/extractor/HeaderCredentialExtractor.d.ts +10 -0
  327. package/lib/products/credential_intelligence/endpoint/extractor/HeaderCredentialExtractor.js +22 -0
  328. package/lib/products/credential_intelligence/endpoint/extractor/ICredentialExtractor.d.ts +6 -0
  329. package/lib/products/credential_intelligence/endpoint/extractor/ICredentialExtractor.js +1 -0
  330. package/lib/products/credential_intelligence/endpoint/extractor/QueryParamCredentialExtractor.d.ts +10 -0
  331. package/lib/products/credential_intelligence/endpoint/extractor/QueryParamCredentialExtractor.js +23 -0
  332. package/lib/products/credential_intelligence/endpoint/extractor/SentThrough.d.ts +6 -0
  333. package/lib/products/credential_intelligence/endpoint/extractor/SentThrough.js +7 -0
  334. package/lib/products/credential_intelligence/endpoint/extractor/index.d.ts +5 -0
  335. package/lib/products/credential_intelligence/endpoint/extractor/index.js +5 -0
  336. package/lib/products/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceHashProtocolFactory.d.ts +6 -0
  337. package/lib/products/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceHashProtocolFactory.js +17 -0
  338. package/lib/products/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceVersion.d.ts +5 -0
  339. package/lib/products/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceVersion.js +6 -0
  340. package/lib/products/credential_intelligence/endpoint/hash_protocol/ICredentialIntelligenceHashProtocol.d.ts +5 -0
  341. package/lib/products/credential_intelligence/endpoint/hash_protocol/ICredentialIntelligenceHashProtocol.js +1 -0
  342. package/lib/products/credential_intelligence/endpoint/hash_protocol/MultistepHashProtocol.d.ts +8 -0
  343. package/lib/products/credential_intelligence/endpoint/hash_protocol/MultistepHashProtocol.js +30 -0
  344. package/lib/products/credential_intelligence/endpoint/hash_protocol/SingleStepAndMultistepHashProtocol.d.ts +8 -0
  345. package/lib/products/credential_intelligence/endpoint/hash_protocol/SingleStepAndMultistepHashProtocol.js +25 -0
  346. package/lib/products/credential_intelligence/endpoint/hash_protocol/SingleStepHashProtocol.d.ts +10 -0
  347. package/lib/products/credential_intelligence/endpoint/hash_protocol/SingleStepHashProtocol.js +49 -0
  348. package/lib/products/credential_intelligence/endpoint/hash_protocol/SsoStep.d.ts +4 -0
  349. package/lib/products/credential_intelligence/endpoint/hash_protocol/SsoStep.js +5 -0
  350. package/lib/products/credential_intelligence/endpoint/hash_protocol/index.d.ts +7 -0
  351. package/lib/products/credential_intelligence/endpoint/hash_protocol/index.js +7 -0
  352. package/lib/products/credential_intelligence/endpoint/index.d.ts +8 -0
  353. package/lib/products/credential_intelligence/endpoint/index.js +8 -0
  354. package/lib/products/credential_intelligence/endpoint/login_successful/BodyLoginSuccessfulParser.d.ts +7 -0
  355. package/lib/products/credential_intelligence/endpoint/login_successful/BodyLoginSuccessfulParser.js +20 -0
  356. package/lib/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulCallback.d.ts +1 -0
  357. package/lib/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulCallback.js +1 -0
  358. package/lib/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulParser.d.ts +8 -0
  359. package/lib/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulParser.js +26 -0
  360. package/lib/products/credential_intelligence/endpoint/login_successful/HeaderLoginSuccessfulParser.d.ts +8 -0
  361. package/lib/products/credential_intelligence/endpoint/login_successful/HeaderLoginSuccessfulParser.js +23 -0
  362. package/lib/products/credential_intelligence/endpoint/login_successful/ILoginSuccessfulParser.d.ts +4 -0
  363. package/lib/products/credential_intelligence/endpoint/login_successful/ILoginSuccessfulParser.js +1 -0
  364. package/lib/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulParserFactory.d.ts +6 -0
  365. package/lib/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulParserFactory.js +26 -0
  366. package/lib/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulReportingMethod.d.ts +6 -0
  367. package/lib/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulReportingMethod.js +7 -0
  368. package/lib/products/credential_intelligence/endpoint/login_successful/StatusLoginSuccessfulParser.d.ts +7 -0
  369. package/lib/products/credential_intelligence/endpoint/login_successful/StatusLoginSuccessfulParser.js +19 -0
  370. package/lib/products/credential_intelligence/endpoint/login_successful/index.d.ts +8 -0
  371. package/lib/products/credential_intelligence/endpoint/login_successful/index.js +8 -0
  372. package/lib/products/credential_intelligence/endpoint/matcher/CredentialIntelligenceEndpointMatcherFactory.d.ts +5 -0
  373. package/lib/products/credential_intelligence/endpoint/matcher/CredentialIntelligenceEndpointMatcherFactory.js +14 -0
  374. package/lib/products/credential_intelligence/endpoint/matcher/ExactPathEndpointMatcher.d.ts +10 -0
  375. package/lib/products/credential_intelligence/endpoint/matcher/ExactPathEndpointMatcher.js +9 -0
  376. package/lib/products/credential_intelligence/endpoint/matcher/ICredentialIntelligenceEndpointMatcher.d.ts +5 -0
  377. package/lib/products/credential_intelligence/endpoint/matcher/ICredentialIntelligenceEndpointMatcher.js +1 -0
  378. package/lib/products/credential_intelligence/endpoint/matcher/PathType.d.ts +4 -0
  379. package/lib/products/credential_intelligence/endpoint/matcher/PathType.js +5 -0
  380. package/lib/products/credential_intelligence/endpoint/matcher/RegexPathEndpointMatcher.d.ts +10 -0
  381. package/lib/products/credential_intelligence/endpoint/matcher/RegexPathEndpointMatcher.js +9 -0
  382. package/lib/products/credential_intelligence/endpoint/matcher/index.d.ts +5 -0
  383. package/lib/products/credential_intelligence/endpoint/matcher/index.js +5 -0
  384. package/lib/products/credential_intelligence/index.d.ts +5 -0
  385. package/lib/products/credential_intelligence/index.js +5 -0
  386. package/lib/products/credential_intelligence/model/CredentialData.d.ts +8 -0
  387. package/lib/products/credential_intelligence/model/CredentialData.js +1 -0
  388. package/lib/products/credential_intelligence/model/CredentialIntelligenceData.d.ts +7 -0
  389. package/lib/products/credential_intelligence/model/CredentialIntelligenceData.js +1 -0
  390. package/lib/products/credential_intelligence/model/Credentials.d.ts +4 -0
  391. package/lib/products/credential_intelligence/model/Credentials.js +1 -0
  392. package/lib/products/credential_intelligence/model/CustomExtractionCallback.d.ts +2 -0
  393. package/lib/products/credential_intelligence/model/CustomExtractionCallback.js +1 -0
  394. package/lib/products/credential_intelligence/model/index.d.ts +4 -0
  395. package/lib/products/credential_intelligence/model/index.js +4 -0
  396. package/lib/products/index.d.ts +5 -0
  397. package/lib/products/index.js +5 -0
  398. package/lib/products/interfaces/IProduct.d.ts +10 -0
  399. package/lib/products/interfaces/IProduct.js +1 -0
  400. package/lib/products/interfaces/ProductData.d.ts +5 -0
  401. package/lib/products/interfaces/ProductData.js +1 -0
  402. package/lib/products/interfaces/ProductDataType.d.ts +5 -0
  403. package/lib/products/interfaces/ProductDataType.js +1 -0
  404. package/lib/products/interfaces/ProductType.d.ts +5 -0
  405. package/lib/products/interfaces/ProductType.js +1 -0
  406. package/lib/products/interfaces/Products.d.ts +5 -0
  407. package/lib/products/interfaces/Products.js +1 -0
  408. package/lib/products/interfaces/index.d.ts +5 -0
  409. package/lib/products/interfaces/index.js +5 -0
  410. package/lib/products/utils/ProductName.d.ts +7 -0
  411. package/lib/products/utils/ProductName.js +8 -0
  412. package/lib/products/utils/ProductPriorityOrder.d.ts +2 -0
  413. package/lib/products/utils/ProductPriorityOrder.js +8 -0
  414. package/lib/products/utils/index.d.ts +3 -0
  415. package/lib/products/utils/index.js +3 -0
  416. package/lib/products/utils/utils.d.ts +5 -0
  417. package/lib/products/utils/utils.js +12 -0
  418. package/lib/pxde/DefaultDataEnrichment.d.ts +7 -6
  419. package/lib/pxde/DefaultDataEnrichment.js +57 -116
  420. package/lib/pxde/IDataEnrichment.d.ts +5 -4
  421. package/lib/pxde/IDataEnrichment.js +1 -2
  422. package/lib/pxde/constants.js +4 -7
  423. package/lib/pxde/index.d.ts +3 -3
  424. package/lib/pxde/index.js +4 -20
  425. package/lib/pxde/model/PXDE.js +1 -2
  426. package/lib/pxde/model/PxdeData.d.ts +5 -0
  427. package/lib/pxde/model/PxdeData.js +1 -0
  428. package/lib/pxde/model/index.d.ts +2 -0
  429. package/lib/pxde/model/index.js +2 -0
  430. package/lib/pxhd/PXHDUtils.d.ts +3 -4
  431. package/lib/pxhd/PXHDUtils.js +15 -26
  432. package/lib/pxhd/index.js +2 -20
  433. package/lib/pxhd/model/PXHD.js +1 -2
  434. package/lib/pxhd/model/PXHDSource.js +2 -5
  435. package/lib/pxhd/model/index.js +2 -18
  436. package/lib/risk_api/client/IRiskApiClient.d.ts +4 -0
  437. package/lib/risk_api/client/IRiskApiClient.js +1 -0
  438. package/lib/risk_api/client/PostRiskApiClientBase.d.ts +44 -0
  439. package/lib/risk_api/client/PostRiskApiClientBase.js +235 -0
  440. package/lib/risk_api/client/PostRiskApiClientV2.d.ts +8 -0
  441. package/lib/risk_api/client/PostRiskApiClientV2.js +10 -0
  442. package/lib/risk_api/client/PostRiskApiClientV3.d.ts +8 -0
  443. package/lib/risk_api/client/PostRiskApiClientV3.js +10 -0
  444. package/lib/risk_api/client/index.d.ts +4 -0
  445. package/lib/risk_api/client/index.js +4 -0
  446. package/lib/risk_api/constants.js +1 -4
  447. package/lib/risk_api/index.d.ts +3 -12
  448. package/lib/risk_api/index.js +4 -34
  449. package/lib/risk_api/model/RiskActivity.d.ts +6 -2
  450. package/lib/risk_api/model/RiskActivity.js +1 -2
  451. package/lib/risk_api/model/RiskApiCallResult.d.ts +6 -0
  452. package/lib/risk_api/model/RiskApiCallResult.js +7 -0
  453. package/lib/risk_api/model/RiskStatus.js +2 -5
  454. package/lib/risk_api/{S2SErrorReason.js → model/S2SErrorReason.js} +2 -5
  455. package/lib/risk_api/model/index.d.ts +4 -0
  456. package/lib/risk_api/model/index.js +4 -0
  457. package/lib/risk_api/risk_response/IRiskResponse.d.ts +15 -0
  458. package/lib/risk_api/risk_response/IRiskResponse.js +1 -0
  459. package/lib/risk_api/risk_response/RiskResponseBase.d.ts +22 -0
  460. package/lib/risk_api/risk_response/RiskResponseBase.js +54 -0
  461. package/lib/risk_api/risk_response/RiskResponsePayloadType.d.ts +4 -0
  462. package/lib/risk_api/risk_response/RiskResponsePayloadType.js +1 -0
  463. package/lib/risk_api/risk_response/index.d.ts +4 -0
  464. package/lib/risk_api/risk_response/index.js +4 -0
  465. package/lib/risk_api/risk_response/v2/DefaultRiskResponseV2.d.ts +8 -0
  466. package/lib/risk_api/risk_response/v2/DefaultRiskResponseV2.js +18 -0
  467. package/lib/risk_api/{model/RiskResponseV2.d.ts → risk_response/v2/RiskResponseV2Payload.d.ts} +4 -4
  468. package/lib/risk_api/risk_response/v2/RiskResponseV2Payload.js +1 -0
  469. package/lib/risk_api/risk_response/v2/index.d.ts +2 -0
  470. package/lib/risk_api/risk_response/v2/index.js +2 -0
  471. package/lib/risk_api/risk_response/v3/DefaultRiskResponseV3.d.ts +8 -0
  472. package/lib/risk_api/risk_response/v3/DefaultRiskResponseV3.js +14 -0
  473. package/lib/risk_api/{model/RiskResponseV3.d.ts → risk_response/v3/RiskResponseV3Payload.d.ts} +4 -4
  474. package/lib/risk_api/risk_response/v3/RiskResponseV3Payload.js +1 -0
  475. package/lib/risk_api/risk_response/v3/index.d.ts +2 -0
  476. package/lib/risk_api/risk_response/v3/index.js +2 -0
  477. package/lib/risk_token/MobileError.js +2 -5
  478. package/lib/risk_token/TokenOrigin.js +2 -5
  479. package/lib/risk_token/{TokenVerificationResult.d.ts → TokenParseResult.d.ts} +2 -2
  480. package/lib/risk_token/TokenParseResult.js +7 -0
  481. package/lib/risk_token/TokenVersion.js +2 -5
  482. package/lib/risk_token/constants.js +9 -12
  483. package/lib/risk_token/index.d.ts +2 -3
  484. package/lib/risk_token/index.js +8 -32
  485. package/lib/risk_token/parser/DefaultTokenV2Parser.d.ts +13 -0
  486. package/lib/risk_token/parser/DefaultTokenV2Parser.js +14 -0
  487. package/lib/risk_token/parser/DefaultTokenV3Parser.d.ts +13 -0
  488. package/lib/risk_token/parser/DefaultTokenV3Parser.js +14 -0
  489. package/lib/risk_token/parser/ITokenParser.d.ts +4 -0
  490. package/lib/risk_token/parser/ITokenParser.js +1 -0
  491. package/lib/risk_token/parser/TokenParserBase.d.ts +19 -0
  492. package/lib/risk_token/parser/TokenParserBase.js +94 -0
  493. package/lib/risk_token/parser/TokenParserOptions.d.ts +4 -0
  494. package/lib/risk_token/parser/TokenParserOptions.js +1 -0
  495. package/lib/risk_token/parser/index.d.ts +5 -0
  496. package/lib/risk_token/parser/index.js +5 -0
  497. package/lib/risk_token/token/{IBotDefenderToken.d.ts → IToken.d.ts} +10 -9
  498. package/lib/risk_token/token/IToken.js +1 -0
  499. package/lib/risk_token/token/TokenBase.d.ts +32 -0
  500. package/lib/risk_token/token/TokenBase.js +50 -0
  501. package/lib/risk_token/token/TokenPayloadType.d.ts +4 -0
  502. package/lib/risk_token/token/TokenPayloadType.js +1 -0
  503. package/lib/risk_token/token/index.d.ts +6 -6
  504. package/lib/risk_token/token/index.js +4 -11
  505. package/lib/risk_token/token/v2/DefaultTokenV2.d.ts +27 -0
  506. package/lib/risk_token/token/v2/DefaultTokenV2.js +112 -0
  507. package/lib/risk_token/token/v2/{BotDefenderTokenV2Payload.d.ts → TokenV2Payload.d.ts} +1 -1
  508. package/lib/risk_token/token/v2/TokenV2Payload.js +1 -0
  509. package/lib/risk_token/token/v3/DefaultTokenV3.d.ts +30 -0
  510. package/lib/risk_token/token/v3/DefaultTokenV3.js +137 -0
  511. package/lib/risk_token/token/v3/TokenSignField.js +2 -5
  512. package/lib/risk_token/token/v3/TokenV3Payload.d.ts +9 -0
  513. package/lib/risk_token/token/v3/TokenV3Payload.js +1 -0
  514. package/lib/risk_token/utils.js +7 -11
  515. package/lib/telemetry/DefaultTelemetry.d.ts +8 -8
  516. package/lib/telemetry/DefaultTelemetry.js +86 -152
  517. package/lib/telemetry/ITelemetry.d.ts +4 -4
  518. package/lib/telemetry/ITelemetry.js +1 -2
  519. package/lib/telemetry/constants.js +7 -10
  520. package/lib/telemetry/index.js +2 -20
  521. package/lib/telemetry/model/TelemetryActivity.d.ts +1 -1
  522. package/lib/telemetry/model/TelemetryActivity.js +1 -2
  523. package/lib/utils/Algorithm.js +2 -5
  524. package/lib/utils/ModuleMode.js +2 -5
  525. package/lib/utils/VidSource.js +2 -5
  526. package/lib/utils/base64/AtobBase64Utils.js +6 -13
  527. package/lib/utils/base64/BufferBase64Utils.js +9 -16
  528. package/lib/utils/base64/IBase64Utils.js +1 -2
  529. package/lib/utils/base64/JSBase64Base64Utils.js +8 -15
  530. package/lib/utils/base64/index.js +4 -20
  531. package/lib/utils/cipher/CryptoCipherUtils.d.ts +1 -3
  532. package/lib/utils/cipher/CryptoCipherUtils.js +16 -53
  533. package/lib/utils/cipher/ICipherUtils.d.ts +2 -1
  534. package/lib/utils/cipher/ICipherUtils.js +1 -2
  535. package/lib/utils/cipher/SubtleCryptoCipherUtils.js +31 -78
  536. package/lib/utils/cipher/index.js +2 -18
  537. package/lib/utils/constants.d.ts +2 -1
  538. package/lib/utils/constants.js +11 -13
  539. package/lib/utils/cookie_parser/ICookieParser.js +1 -2
  540. package/lib/utils/cookie_parser/{DefaultCookieParser.d.ts → StringSplitCookieParser.d.ts} +2 -1
  541. package/lib/utils/cookie_parser/StringSplitCookieParser.js +28 -0
  542. package/lib/utils/cookie_parser/index.d.ts +2 -2
  543. package/lib/utils/cookie_parser/index.js +2 -5
  544. package/lib/utils/error/EnforcerError.js +6 -28
  545. package/lib/utils/error/EnforcerErrorName.js +2 -5
  546. package/lib/utils/error/EnforcerTimeoutError.js +7 -29
  547. package/lib/utils/error/index.js +3 -9
  548. package/lib/utils/hash/CryptoHashUtils.d.ts +11 -0
  549. package/lib/utils/hash/CryptoHashUtils.js +20 -0
  550. package/lib/utils/hash/IHashUtils.d.ts +2 -1
  551. package/lib/utils/hash/IHashUtils.js +1 -2
  552. package/lib/utils/hash/SubtleCryptoHashUtils.d.ts +8 -0
  553. package/lib/utils/hash/SubtleCryptoHashUtils.js +31 -0
  554. package/lib/utils/hash/index.d.ts +2 -2
  555. package/lib/utils/hash/index.js +3 -19
  556. package/lib/utils/{hash → hmac}/CryptoHmacUtils.d.ts +2 -2
  557. package/lib/utils/hmac/CryptoHmacUtils.js +19 -0
  558. package/lib/utils/{hash → hmac}/CryptoJSHmacUtils.d.ts +2 -2
  559. package/lib/utils/hmac/CryptoJSHmacUtils.js +12 -0
  560. package/lib/utils/hmac/IHmacUtils.d.ts +4 -0
  561. package/lib/utils/hmac/IHmacUtils.js +1 -0
  562. package/lib/utils/hmac/index.d.ts +3 -0
  563. package/lib/utils/hmac/index.js +3 -0
  564. package/lib/utils/index.d.ts +5 -6
  565. package/lib/utils/index.js +13 -34
  566. package/lib/utils/ip_range_checker/DefaultIpRangeChecker.js +5 -12
  567. package/lib/utils/ip_range_checker/IIpRangeChecker.js +1 -2
  568. package/lib/utils/ip_range_checker/index.js +1 -5
  569. package/lib/utils/request_id_generator/IRequestIdGenerator.d.ts +3 -0
  570. package/lib/utils/request_id_generator/IRequestIdGenerator.js +1 -0
  571. package/lib/utils/request_id_generator/UuidRequestIdGenerator.d.ts +4 -0
  572. package/lib/utils/request_id_generator/UuidRequestIdGenerator.js +6 -0
  573. package/lib/utils/request_id_generator/index.d.ts +2 -0
  574. package/lib/utils/request_id_generator/index.js +1 -0
  575. package/lib/utils/utils.d.ts +5 -2
  576. package/lib/utils/utils.js +52 -97
  577. package/package.json +5 -2
  578. package/lib/block_handler/BlockAction.js +0 -21
  579. package/lib/block_handler/BlockReason.js +0 -8
  580. package/lib/block_handler/DefaultBlockResponseGenerator.d.ts +0 -14
  581. package/lib/block_handler/DefaultBlockResponseGenerator.js +0 -55
  582. package/lib/block_handler/IBlockResponseGenerator.d.ts +0 -14
  583. package/lib/block_handler/IBlockResponseGenerator.js +0 -2
  584. package/lib/block_handler/captcha/CaptchaBlockResponseGenerator.d.ts +0 -14
  585. package/lib/block_handler/captcha/CaptchaBlockResponseGenerator.js +0 -30
  586. package/lib/block_handler/captcha/HtmlCaptchaResponseGenerator.d.ts +0 -10
  587. package/lib/block_handler/captcha/HtmlCaptchaResponseGenerator.js +0 -29
  588. package/lib/block_handler/captcha/JsonCaptchaResponseGenerator.d.ts +0 -10
  589. package/lib/block_handler/captcha/JsonCaptchaResponseGenerator.js +0 -47
  590. package/lib/block_handler/captcha/MobileCaptchaResponseGenerator.d.ts +0 -12
  591. package/lib/block_handler/captcha/MobileCaptchaResponseGenerator.js +0 -41
  592. package/lib/block_handler/index.d.ts +0 -13
  593. package/lib/block_handler/index.js +0 -21
  594. package/lib/block_handler/model/BlockData.js +0 -2
  595. package/lib/block_handler/model/JsonBlockPayload.js +0 -2
  596. package/lib/block_handler/model/MobileBlockPayload.js +0 -2
  597. package/lib/block_handler/templates/captcha_template.js +0 -4
  598. package/lib/block_handler/templates/rate_limit_template.js +0 -4
  599. package/lib/block_handler/utils.d.ts +0 -5
  600. package/lib/block_handler/utils.js +0 -48
  601. package/lib/context/ContextBase.d.ts +0 -57
  602. package/lib/context/ContextBase.js +0 -147
  603. package/lib/context/DefaultTokenV2Context.d.ts +0 -13
  604. package/lib/context/DefaultTokenV2Context.js +0 -35
  605. package/lib/context/DefaultTokenV3Context.d.ts +0 -13
  606. package/lib/context/DefaultTokenV3Context.js +0 -35
  607. package/lib/context/IContext.d.ts +0 -264
  608. package/lib/context/IContext.js +0 -2
  609. package/lib/filter/DefaultFilter.d.ts +0 -16
  610. package/lib/filter/DefaultFilter.js +0 -59
  611. package/lib/first_party/DefaultFirstParty.d.ts +0 -22
  612. package/lib/first_party/DefaultFirstParty.js +0 -227
  613. package/lib/first_party/constants.js +0 -37
  614. package/lib/first_party/utils.d.ts +0 -9
  615. package/lib/first_party/utils.js +0 -29
  616. package/lib/http/interfaces/ReadOnlyHeaders.d.ts +0 -4
  617. package/lib/http/interfaces/ReadOnlyHeaders.js +0 -19
  618. package/lib/risk_api/PostRiskApiClient.d.ts +0 -43
  619. package/lib/risk_api/PostRiskApiClient.js +0 -265
  620. package/lib/risk_api/S2SCallReason.js +0 -16
  621. package/lib/risk_api/S2SErrorHandler.d.ts +0 -9
  622. package/lib/risk_api/S2SErrorHandler.js +0 -121
  623. package/lib/risk_api/model/RiskResponseV2.js +0 -2
  624. package/lib/risk_api/model/RiskResponseV3.js +0 -2
  625. package/lib/risk_api/risk_response_handler/IRiskResponseHandler.d.ts +0 -5
  626. package/lib/risk_api/risk_response_handler/IRiskResponseHandler.js +0 -2
  627. package/lib/risk_api/risk_response_handler/RiskResponseHandlerBase.d.ts +0 -16
  628. package/lib/risk_api/risk_response_handler/RiskResponseHandlerBase.js +0 -73
  629. package/lib/risk_api/risk_response_handler/RiskResponseV2Handler.d.ts +0 -10
  630. package/lib/risk_api/risk_response_handler/RiskResponseV2Handler.js +0 -55
  631. package/lib/risk_api/risk_response_handler/RiskResponseV3Handler.d.ts +0 -10
  632. package/lib/risk_api/risk_response_handler/RiskResponseV3Handler.js +0 -57
  633. package/lib/risk_token/MobileErrorHandler.d.ts +0 -9
  634. package/lib/risk_token/MobileErrorHandler.js +0 -100
  635. package/lib/risk_token/RiskTokenScoreRetriever.d.ts +0 -14
  636. package/lib/risk_token/RiskTokenScoreRetriever.js +0 -148
  637. package/lib/risk_token/TokenVerificationResult.js +0 -10
  638. package/lib/risk_token/token/BotDefenderTokenBase.d.ts +0 -29
  639. package/lib/risk_token/token/BotDefenderTokenBase.js +0 -95
  640. package/lib/risk_token/token/IBotDefenderToken.js +0 -2
  641. package/lib/risk_token/token/v2/BotDefenderTokenV2Payload.js +0 -2
  642. package/lib/risk_token/token/v2/DefaultBotDefenderTokenV2.d.ts +0 -26
  643. package/lib/risk_token/token/v2/DefaultBotDefenderTokenV2.js +0 -206
  644. package/lib/risk_token/token/v3/BotDefenderTokenV3Payload.d.ts +0 -9
  645. package/lib/risk_token/token/v3/BotDefenderTokenV3Payload.js +0 -2
  646. package/lib/risk_token/token/v3/DefaultBotDefenderTokenV3.d.ts +0 -29
  647. package/lib/risk_token/token/v3/DefaultBotDefenderTokenV3.js +0 -231
  648. package/lib/utils/IScoreRetriever.d.ts +0 -14
  649. package/lib/utils/IScoreRetriever.js +0 -2
  650. package/lib/utils/PassReason.js +0 -10
  651. package/lib/utils/cookie_parser/DefaultCookieParser.js +0 -13
  652. package/lib/utils/hash/CryptoHmacUtils.js +0 -25
  653. package/lib/utils/hash/CryptoJSHmacUtils.js +0 -19
  654. package/lib/utils/uuid_generator/DefaultUuidGenerator.d.ts +0 -4
  655. package/lib/utils/uuid_generator/DefaultUuidGenerator.js +0 -13
  656. package/lib/utils/uuid_generator/IUuidGenerator.d.ts +0 -3
  657. package/lib/utils/uuid_generator/IUuidGenerator.js +0 -2
  658. package/lib/utils/uuid_generator/index.d.ts +0 -2
  659. package/lib/utils/uuid_generator/index.js +0 -5
  660. /package/lib/{block_handler → products/bot_defender/block}/model/JsonBlockPayload.d.ts +0 -0
  661. /package/lib/{block_handler → products/bot_defender/block}/model/MobileBlockPayload.d.ts +0 -0
  662. /package/lib/{block_handler → products/bot_defender/block}/templates/captcha_template.d.ts +0 -0
  663. /package/lib/{block_handler → products/bot_defender/block}/templates/rate_limit_template.d.ts +0 -0
  664. /package/lib/risk_api/{S2SErrorReason.d.ts → model/S2SErrorReason.d.ts} +0 -0
@@ -1,264 +0,0 @@
1
- import { TokenOrigin, MobileError, IBotDefenderToken } from '../risk_token';
2
- import { FilterReason } from '../filter';
3
- import { S2SCallReason, S2SErrorReason } from '../risk_api';
4
- import { PassReason, VidSource } from '../utils';
5
- import { BlockAction, BlockReason } from '../block_handler';
6
- import { CustomParameters } from '../custom_parameters';
7
- import { PXDE } from '../pxde';
8
- import { GraphQLData } from '../graphql';
9
- import { HttpMethod } from '../http';
10
- import { ReadOnlyHeaders } from '../http';
11
- import { IIncomingRequest } from '../http';
12
- import { PXHD } from '../pxhd/model/PXHD';
13
- export declare type RequestData = {
14
- /**
15
- * The request URL.
16
- */
17
- url: URL;
18
- /**
19
- * The request method, capitalized.
20
- */
21
- method: HttpMethod;
22
- /**
23
- * An object representing the request headers. The keys are the header names (all lowercase) and the values
24
- * are arrays of strings, with each string representing one value associated with the header name.
25
- */
26
- headers: ReadOnlyHeaders;
27
- /**
28
- * An object representing the request cookies. The keys are the cookie
29
- * names and the values are the cookie values.
30
- */
31
- cookies: Record<string, string>;
32
- /**
33
- * An array of the cookie names present on the request.
34
- */
35
- requestCookieNames: string[];
36
- /**
37
- * The user agent header on the request.
38
- */
39
- userAgent: string;
40
- /**
41
- * The IP of the request.
42
- */
43
- ip: string;
44
- /**
45
- * An interface representing the original HTTP request.
46
- */
47
- request: IIncomingRequest;
48
- /**
49
- * The HTTP version used for the request (e.g., 0.9, 1.0, 1.1, 2.0).
50
- */
51
- httpVersion?: string;
52
- };
53
- export declare type ResponseData = {
54
- /**
55
- * The HTTP status code from the response to the original request.
56
- */
57
- status?: number;
58
- };
59
- export interface TlsData {
60
- /**
61
- * The TLS version used for the HTTPS request (e.g., 1.2, 1.3).
62
- */
63
- tlsProtocol?: string;
64
- /**
65
- * The Server Name Indication (SNI) the client sent in the TLS Client Hello packet of the HTTPS request.
66
- */
67
- tlsServer?: string;
68
- /**
69
- * The name of the TLS cipher used to encrypt the HTTPS request.
70
- */
71
- tlsCipher?: string;
72
- /**
73
- * The hash used to encrypt the HTTPS request.
74
- */
75
- tlsCiphersSha?: string;
76
- /**
77
- * The hash of the TLS extension identifiers sent from the client as part of the TLS handshake
78
- */
79
- tlsExtensionSha?: string;
80
- /**
81
- * The client's preferred TLS ciphers for the HTTPS request.
82
- */
83
- tlsPreferredCiphers?: string;
84
- /**
85
- * The JA3 fingerprint computed from the TLS Client Hello packet of th HTTPS request.
86
- */
87
- tlsJa3Fingerprint?: string;
88
- }
89
- export interface MobileData {
90
- /**
91
- * The mobile error sent on the X-PX-Authorization header for mobile requests.
92
- */
93
- mobileError?: MobileError;
94
- /**
95
- * An interface representing the original token sent on the X-PX-Original-Token header for mobile requests.
96
- */
97
- originalToken?: IBotDefenderToken;
98
- /**
99
- * The bypass reason from the X-PX-Bypass-Reason header for mobile requests.
100
- */
101
- bypassReason?: string;
102
- /**
103
- * The reason the original token could not be verified (e.g., cookie_decryption_failed, cookie_validation_failed).
104
- */
105
- originalTokenError?: string;
106
- /**
107
- * The JSON string of the original token if one was sent on the mobile request.
108
- */
109
- decodedOriginalToken?: string;
110
- }
111
- export interface RiskApiData {
112
- /**
113
- * The risk API round trip time in milliseconds.
114
- */
115
- riskRtt?: number;
116
- /**
117
- * Whether the enforcer completed the risk API call.
118
- */
119
- madeApiCall?: boolean;
120
- /**
121
- * The reason for the risk API call.
122
- */
123
- s2sCallReason?: S2SCallReason;
124
- /**
125
- * The reason for the error during the risk API call if an error occurred.
126
- */
127
- s2sErrorReason?: S2SErrorReason;
128
- /**
129
- * The HTTP response status that was received for the risk API call if an error occurred.
130
- */
131
- s2sErrorHttpStatus?: number;
132
- /**
133
- * An error message that contains more details about the risk API error if an error occurred.
134
- */
135
- errorMessage?: string;
136
- }
137
- export interface ServerData {
138
- /**
139
- * The operating system platform.
140
- */
141
- osName?: string;
142
- /**
143
- * The server region the request hit.
144
- */
145
- region?: string;
146
- /**
147
- * The host name of the operating system.
148
- */
149
- nodeName?: string;
150
- /**
151
- * The name or code associated with the server PoP/datacenter.
152
- */
153
- datacenter?: string;
154
- }
155
- export interface IContext {
156
- /**
157
- * A UUID generated in the enforcer unique to each HTTP request.
158
- */
159
- readonly requestId: string;
160
- /**
161
- * Whether the request is from a mobile device.
162
- */
163
- readonly isMobile: boolean;
164
- /**
165
- * An object containing details about the original HTTP request.
166
- */
167
- readonly requestData: RequestData;
168
- /**
169
- * An object containing details about the HTTP response.
170
- */
171
- readonly responseData: ResponseData;
172
- /**
173
- * An object containing details about the mobile data if the request was made from a mobile device.
174
- */
175
- readonly mobileData: MobileData;
176
- /**
177
- * An object containing details about the risk API data.
178
- */
179
- readonly riskApiData: RiskApiData;
180
- /**
181
- * An object containing details about the TLS metadata of the HTTP request.
182
- */
183
- readonly tlsData: TlsData;
184
- /**
185
- * An object containing details about the server on which the enforcer is running.
186
- */
187
- readonly serverData: ServerData;
188
- /**
189
- * The client UUID.
190
- */
191
- uuid: string;
192
- /**
193
- * The visitor ID, unique to the end-user.
194
- */
195
- vid?: string;
196
- /**
197
- * A string representing where the visitor ID was obtained.
198
- */
199
- vidSource?: VidSource;
200
- /**
201
- * The risk score retrieved from either the risk cookie or risk API request. This should be a value
202
- * between 0 and 100 (inclusive), with 100 representing a bot.
203
- */
204
- score?: number;
205
- /**
206
- * Whether the request should go through the enforcement flow in monitor mode.
207
- * This depends on various configurations including the module mode, monitored routes, enforced
208
- * routes, and the bypass monitor header.
209
- */
210
- isMonitoredRequest: boolean;
211
- /**
212
- * Whether the request should trigger a Risk API call regardless of the risk cookie it carries.
213
- */
214
- isSensitiveRequest: boolean;
215
- /**
216
- * The reason to pass the request, if it should be passed.
217
- */
218
- passReason?: PassReason;
219
- /**
220
- * The reason to block the request, if it should be blocked.
221
- */
222
- blockReason?: BlockReason;
223
- /**
224
- * The action to take in the event of a block.
225
- */
226
- blockAction?: BlockAction;
227
- /**
228
- * The reason the request was filtered, if it was filtered.
229
- */
230
- filterReason?: FilterReason;
231
- /**
232
- * The origin of the risk token, indicating whether the request originates from
233
- * a web browser ('cookie') or from the mobile SDK ('header').
234
- */
235
- tokenOrigin?: TokenOrigin;
236
- /**
237
- * An interface representing the risk token.
238
- */
239
- riskToken?: IBotDefenderToken;
240
- /**
241
- * The PXHD (PerimeterX Hashed Data) cookie value, if it exists on the request.
242
- */
243
- pxhd?: PXHD;
244
- /**
245
- * The PXDE (PerimeterX Data Enrichment) object, if it was parsed from
246
- * the PXDE cookie or received on the risk response.
247
- */
248
- pxde?: PXDE;
249
- /**
250
- * Whether the HMAC on the PXDE cookie has been validated. If the PXDE object
251
- * was received on the risk response, this value will be true.
252
- */
253
- pxdeVerified?: boolean;
254
- /**
255
- * An object with 10 custom parameters that the customer can set and define. These
256
- * custom parameters will be added to the activities sent to the collector.
257
- */
258
- customParameters?: CustomParameters;
259
- /**
260
- * An array of objects with information about the different GraphQL operations
261
- * parsed from the request.
262
- */
263
- graphqlData?: GraphQLData[];
264
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,16 +0,0 @@
1
- import { IConfiguration } from '../config';
2
- import { IContext } from '../context/IContext';
3
- import { IIpRangeChecker } from '../utils';
4
- import { IFilter } from './IFilter';
5
- export declare class DefaultFilter implements IFilter {
6
- private readonly config;
7
- private readonly ipRangeChecker;
8
- constructor(config: IConfiguration, ipRangeChecker?: IIpRangeChecker);
9
- shouldFilter(context: IContext): boolean;
10
- private getFilterReason;
11
- private shouldFilterByExtension;
12
- private shouldFilterByHttpMethod;
13
- private shouldFilterByIp;
14
- private shouldFilterByRoute;
15
- private shouldFilterByUserAgent;
16
- }
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultFilter = void 0;
4
- var utils_1 = require("../utils");
5
- var FilterReason_1 = require("./FilterReason");
6
- var http_1 = require("../http");
7
- var DefaultFilter = /** @class */ (function () {
8
- function DefaultFilter(config, ipRangeChecker) {
9
- if (ipRangeChecker === void 0) { ipRangeChecker = new utils_1.DefaultIpRangeChecker(); }
10
- this.config = config;
11
- this.ipRangeChecker = ipRangeChecker;
12
- }
13
- DefaultFilter.prototype.shouldFilter = function (context) {
14
- var requestData = context.requestData;
15
- var filterReason = this.getFilterReason(requestData);
16
- context.filterReason = filterReason;
17
- return filterReason !== FilterReason_1.FilterReason.NONE;
18
- };
19
- DefaultFilter.prototype.getFilterReason = function (request) {
20
- if (this.shouldFilterByExtension(request)) {
21
- return FilterReason_1.FilterReason.EXTENSION;
22
- }
23
- if (this.shouldFilterByRoute(request.url.pathname)) {
24
- return FilterReason_1.FilterReason.ROUTE;
25
- }
26
- if (this.shouldFilterByHttpMethod(request.method)) {
27
- return FilterReason_1.FilterReason.HTTP_METHOD;
28
- }
29
- if (this.shouldFilterByUserAgent(request.userAgent)) {
30
- return FilterReason_1.FilterReason.USER_AGENT;
31
- }
32
- if (this.shouldFilterByIp(request.ip)) {
33
- return FilterReason_1.FilterReason.IP;
34
- }
35
- return FilterReason_1.FilterReason.NONE;
36
- };
37
- DefaultFilter.prototype.shouldFilterByExtension = function (request) {
38
- if (request.method !== http_1.HttpMethod.GET && request.method !== http_1.HttpMethod.HEAD) {
39
- return false;
40
- }
41
- var ext = (0, utils_1.getExtension)(request.url.href);
42
- return !!ext && this.config.filteredExtensions.includes(ext);
43
- };
44
- DefaultFilter.prototype.shouldFilterByHttpMethod = function (method) {
45
- return this.config.filteredHttpMethods.some(function (filteredMethod) { return filteredMethod.toUpperCase() === method; });
46
- };
47
- DefaultFilter.prototype.shouldFilterByIp = function (ip) {
48
- var _this = this;
49
- return this.config.filteredIps.some(function (range) { return _this.ipRangeChecker.isIpInRange(ip, range); });
50
- };
51
- DefaultFilter.prototype.shouldFilterByRoute = function (route) {
52
- return (0, utils_1.isRouteInPatterns)(route, this.config.filteredRoutes);
53
- };
54
- DefaultFilter.prototype.shouldFilterByUserAgent = function (userAgent) {
55
- return this.config.filteredUserAgents.includes(userAgent);
56
- };
57
- return DefaultFilter;
58
- }());
59
- exports.DefaultFilter = DefaultFilter;
@@ -1,22 +0,0 @@
1
- import { IConfiguration } from '../config';
2
- import { IContext } from '../context/IContext';
3
- import { IHttpClient, IMinimalResponse } from '../http';
4
- import { IFirstParty } from './IFirstParty';
5
- export declare class DefaultFirstParty implements IFirstParty {
6
- private readonly config;
7
- private readonly httpClient;
8
- constructor(config: IConfiguration, httpClient: IHttpClient);
9
- handleFirstPartyRequest(context: IContext): Promise<IMinimalResponse>;
10
- private proxySensorScriptRequest;
11
- private proxyXhrRequest;
12
- private static getDefaultXhrResponse;
13
- private proxyCaptchaScriptRequest;
14
- private forwardRequest;
15
- private prepareFirstPartyHeaders;
16
- private setHostHeader;
17
- private setXffHeader;
18
- private addFirstPartyHeaders;
19
- private getThirdPartySensorScriptUrl;
20
- private getThirdPartyCaptchaScriptUrl;
21
- private getThirdPartyXhrUrl;
22
- }
@@ -1,227 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.DefaultFirstParty = void 0;
51
- var utils_1 = require("../utils");
52
- var http_1 = require("../http");
53
- var utils_2 = require("./utils");
54
- var constants_1 = require("./constants");
55
- var minimalResponseUtils = require("../http/utils/MinimalResponseUtils");
56
- var DefaultFirstParty = /** @class */ (function () {
57
- function DefaultFirstParty(config, httpClient) {
58
- this.config = config;
59
- this.httpClient = httpClient;
60
- }
61
- DefaultFirstParty.prototype.handleFirstPartyRequest = function (context) {
62
- return __awaiter(this, void 0, void 0, function () {
63
- var pathname, xhrPrefix, captchaPrefix;
64
- return __generator(this, function (_a) {
65
- switch (_a.label) {
66
- case 0:
67
- pathname = context.requestData.url.pathname;
68
- if (!(0, utils_2.getFirstPartySensorScriptPaths)(this.config).includes(pathname)) return [3 /*break*/, 2];
69
- return [4 /*yield*/, this.proxySensorScriptRequest(context)];
70
- case 1: return [2 /*return*/, _a.sent()];
71
- case 2:
72
- xhrPrefix = (0, utils_2.getFirstPartyXhrPathPrefixes)(this.config).find(function (prefix) { return pathname.startsWith(prefix); });
73
- if (!xhrPrefix) return [3 /*break*/, 4];
74
- return [4 /*yield*/, this.proxyXhrRequest(context, xhrPrefix)];
75
- case 3: return [2 /*return*/, _a.sent()];
76
- case 4:
77
- captchaPrefix = (0, utils_2.getFirstPartyCaptchaScriptPathPrefixes)(this.config).find(function (prefix) {
78
- return pathname.startsWith(prefix);
79
- });
80
- if (!captchaPrefix) return [3 /*break*/, 6];
81
- return [4 /*yield*/, this.proxyCaptchaScriptRequest(context, captchaPrefix)];
82
- case 5: return [2 /*return*/, _a.sent()];
83
- case 6: return [2 /*return*/, null];
84
- }
85
- });
86
- });
87
- };
88
- DefaultFirstParty.prototype.proxySensorScriptRequest = function (context) {
89
- return __awaiter(this, void 0, void 0, function () {
90
- var url, response;
91
- return __generator(this, function (_a) {
92
- switch (_a.label) {
93
- case 0:
94
- if (!this.config.firstPartyEnabled) {
95
- return [2 /*return*/, new http_1.MinimalResponseImpl(constants_1.DEFAULT_CLIENT_RESPONSE_OPTIONS)];
96
- }
97
- url = this.getThirdPartySensorScriptUrl();
98
- return [4 /*yield*/, this.forwardRequest(url, context)];
99
- case 1:
100
- response = _a.sent();
101
- return [2 /*return*/, response ? response : new http_1.MinimalResponseImpl(constants_1.DEFAULT_CLIENT_RESPONSE_OPTIONS)];
102
- }
103
- });
104
- });
105
- };
106
- DefaultFirstParty.prototype.proxyXhrRequest = function (context, prefix) {
107
- return __awaiter(this, void 0, void 0, function () {
108
- var url, response;
109
- return __generator(this, function (_a) {
110
- switch (_a.label) {
111
- case 0:
112
- if (!this.config.firstPartyEnabled) {
113
- return [2 /*return*/, DefaultFirstParty.getDefaultXhrResponse(context.requestData.url.pathname)];
114
- }
115
- url = this.getThirdPartyXhrUrl(context, prefix);
116
- return [4 /*yield*/, this.forwardRequest(url, context)];
117
- case 1:
118
- response = _a.sent();
119
- return [2 /*return*/, (response === null || response === void 0 ? void 0 : response.status) < 400
120
- ? response
121
- : DefaultFirstParty.getDefaultXhrResponse(context.requestData.url.pathname)];
122
- }
123
- });
124
- });
125
- };
126
- DefaultFirstParty.getDefaultXhrResponse = function (path) {
127
- var _a = path.endsWith('.gif') ? constants_1.DEFAULT_GIF_RESPONSE : constants_1.DEFAULT_XHR_RESPONSE, content = _a.content, options = _a.options;
128
- return new http_1.MinimalResponseImpl({
129
- body: content,
130
- status: options.status,
131
- headers: options.headers,
132
- });
133
- };
134
- DefaultFirstParty.prototype.proxyCaptchaScriptRequest = function (context, prefix) {
135
- return __awaiter(this, void 0, void 0, function () {
136
- var url, response;
137
- return __generator(this, function (_a) {
138
- switch (_a.label) {
139
- case 0:
140
- if (!this.config.firstPartyEnabled) {
141
- return [2 /*return*/, new http_1.MinimalResponseImpl(constants_1.DEFAULT_CLIENT_RESPONSE_OPTIONS)];
142
- }
143
- url = this.getThirdPartyCaptchaScriptUrl(context, prefix);
144
- return [4 /*yield*/, this.forwardRequest(url, context)];
145
- case 1:
146
- response = _a.sent();
147
- return [2 /*return*/, response ? response : new http_1.MinimalResponseImpl(constants_1.DEFAULT_CLIENT_RESPONSE_OPTIONS)];
148
- }
149
- });
150
- });
151
- };
152
- DefaultFirstParty.prototype.forwardRequest = function (url, _a) {
153
- var requestData = _a.requestData, vid = _a.vid;
154
- return __awaiter(this, void 0, void 0, function () {
155
- var request, _b, _c, e_1;
156
- return __generator(this, function (_d) {
157
- switch (_d.label) {
158
- case 0:
159
- _d.trys.push([0, 2, , 3]);
160
- request = new http_1.OutgoingRequestImpl({
161
- url: url,
162
- method: requestData.request.method,
163
- headers: this.prepareFirstPartyHeaders(url, requestData, vid),
164
- body: requestData.request.body,
165
- });
166
- this.config.logger.debug('forwarding to ' + url);
167
- _c = (_b = minimalResponseUtils).from;
168
- return [4 /*yield*/, this.httpClient.send(request)];
169
- case 1: return [2 /*return*/, _c.apply(_b, [_d.sent()])];
170
- case 2:
171
- e_1 = _d.sent();
172
- this.config.logger.debug("failed sending first party request to ".concat(url, ": ").concat(e_1));
173
- return [2 /*return*/, null];
174
- case 3: return [2 /*return*/];
175
- }
176
- });
177
- });
178
- };
179
- DefaultFirstParty.prototype.prepareFirstPartyHeaders = function (url, requestData, vid) {
180
- var _a;
181
- var headers = __assign({}, requestData.headers);
182
- try {
183
- headers = (0, utils_1.removeSensitiveHeaders)(headers, this.config.sensitiveHeaders);
184
- this.setHostHeader(headers, url);
185
- this.setXffHeader(headers, requestData.ip);
186
- this.addFirstPartyHeaders(headers, requestData.ip);
187
- if (vid) {
188
- var vidCookieString = "pxvid=".concat(vid);
189
- var existingCookies = (_a = headers[http_1.COOKIE_HEADER_NAME]) === null || _a === void 0 ? void 0 : _a.join('; ');
190
- var newCookies = existingCookies ? "".concat(existingCookies, "; ").concat(vidCookieString) : vidCookieString;
191
- headers[http_1.COOKIE_HEADER_NAME] = [newCookies];
192
- }
193
- }
194
- catch (e) {
195
- this.config.logger.error("Caught error preparing first party headers: ".concat(e));
196
- }
197
- return headers;
198
- };
199
- DefaultFirstParty.prototype.setHostHeader = function (headers, url) {
200
- headers[http_1.HOST_HEADER_NAME] = [new URL(url).host];
201
- };
202
- DefaultFirstParty.prototype.setXffHeader = function (headers, ip) {
203
- var xffValue = headers[http_1.X_FORWARDED_FOR_HEADER_NAME] || [];
204
- headers[http_1.X_FORWARDED_FOR_HEADER_NAME] = xffValue.concat([ip]);
205
- };
206
- DefaultFirstParty.prototype.addFirstPartyHeaders = function (headers, ip) {
207
- headers[constants_1.FIRST_PARTY_HEADER_NAME] = [constants_1.FIRST_PARTY_HEADER_VALUE];
208
- headers[constants_1.X_PX_ENFORCER_TRUE_IP_HEADER_NAME] = [ip];
209
- };
210
- DefaultFirstParty.prototype.getThirdPartySensorScriptUrl = function () {
211
- return "".concat(this.config.backendClientUrl, "/").concat(this.config.appId, "/main.min.js");
212
- };
213
- DefaultFirstParty.prototype.getThirdPartyCaptchaScriptUrl = function (context, prefix) {
214
- var originalUrl = context.requestData.url;
215
- var _a = this.config, appId = _a.appId, backendCaptchaUrl = _a.backendCaptchaUrl;
216
- var regExString = "".concat(originalUrl.origin).concat(prefix);
217
- var regEx = new RegExp(regExString, 'ig');
218
- return "".concat(backendCaptchaUrl, "/").concat(appId).concat(originalUrl.href.replace(regEx, ''));
219
- };
220
- DefaultFirstParty.prototype.getThirdPartyXhrUrl = function (context, prefix) {
221
- var originalUrl = context.requestData.url;
222
- var backendCollectorUrl = this.config.backendCollectorUrl;
223
- return "".concat(backendCollectorUrl).concat(originalUrl.pathname.replace(prefix, '')).concat(originalUrl.search);
224
- };
225
- return DefaultFirstParty;
226
- }());
227
- exports.DefaultFirstParty = DefaultFirstParty;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var _a, _b, _c;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DEFAULT_GIF_RESPONSE = exports.DEFAULT_XHR_RESPONSE = exports.DEFAULT_CLIENT_RESPONSE_OPTIONS = exports.FIRST_PARTY_HEADER_VALUE = exports.FIRST_PARTY_HEADER_NAME = exports.X_PX_ENFORCER_TRUE_IP_HEADER_NAME = exports.EMPTY_GIF = void 0;
5
- var http_1 = require("../http");
6
- exports.EMPTY_GIF = [
7
- 0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x01, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
8
- 0x2c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x44, 0x01, 0x00, 0x3b,
9
- ];
10
- exports.X_PX_ENFORCER_TRUE_IP_HEADER_NAME = 'x-px-enforcer-true-ip';
11
- exports.FIRST_PARTY_HEADER_NAME = 'x-px-first-party';
12
- exports.FIRST_PARTY_HEADER_VALUE = '1';
13
- exports.DEFAULT_CLIENT_RESPONSE_OPTIONS = {
14
- body: '',
15
- status: 200,
16
- headers: (_a = {},
17
- _a[http_1.CONTENT_TYPE_HEADER_NAME] = [http_1.ContentType.APPLICATION_JAVASCRIPT],
18
- _a),
19
- };
20
- exports.DEFAULT_XHR_RESPONSE = {
21
- content: '{}',
22
- options: {
23
- status: 200,
24
- headers: (_b = {},
25
- _b[http_1.CONTENT_TYPE_HEADER_NAME] = [http_1.ContentType.APPLICATION_JAVASCRIPT],
26
- _b),
27
- },
28
- };
29
- exports.DEFAULT_GIF_RESPONSE = {
30
- content: 'GIF89a\x01\x00\x01\x00\x80\x00\x00ÿÿÿ\x00\x00\x00,\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02D\x01\x00;',
31
- options: {
32
- status: 200,
33
- headers: (_c = {},
34
- _c[http_1.CONTENT_TYPE_HEADER_NAME] = [http_1.ContentType.IMAGE_GIF],
35
- _c),
36
- },
37
- };
@@ -1,9 +0,0 @@
1
- import { IConfiguration } from '../config';
2
- export declare const getDefaultFirstPartyPrefix: (appId: string) => string;
3
- export declare const getFirstPartyPaths: (config: IConfiguration, callback?: (prefix: string) => string) => string[];
4
- export declare const getFirstPartySensorScriptPaths: (config: IConfiguration) => string[];
5
- export declare const getFirstPartyCaptchaScriptPathPrefixes: (config: IConfiguration) => string[];
6
- export declare const getFirstPartyXhrPathPrefixes: (config: IConfiguration) => string[];
7
- export declare const getFirstPartySensorScriptPath: (prefix: string) => string;
8
- export declare const getFirstPartyCaptchaScriptPathPrefix: (prefix: string) => string;
9
- export declare const getFirstPartyXhrPathPrefix: (prefix: string) => string;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFirstPartyXhrPathPrefix = exports.getFirstPartyCaptchaScriptPathPrefix = exports.getFirstPartySensorScriptPath = exports.getFirstPartyXhrPathPrefixes = exports.getFirstPartyCaptchaScriptPathPrefixes = exports.getFirstPartySensorScriptPaths = exports.getFirstPartyPaths = exports.getDefaultFirstPartyPrefix = void 0;
4
- var getDefaultFirstPartyPrefix = function (appId) { return appId.substring(2); };
5
- exports.getDefaultFirstPartyPrefix = getDefaultFirstPartyPrefix;
6
- var getFirstPartyPaths = function (config, callback) {
7
- var allPrefixes = [config.firstPartyPrefix, (0, exports.getDefaultFirstPartyPrefix)(config.appId)];
8
- var prefixes = Array.from(new Set(allPrefixes));
9
- return callback ? prefixes.map(callback) : prefixes;
10
- };
11
- exports.getFirstPartyPaths = getFirstPartyPaths;
12
- var getFirstPartySensorScriptPaths = function (config) {
13
- return (0, exports.getFirstPartyPaths)(config, exports.getFirstPartySensorScriptPath);
14
- };
15
- exports.getFirstPartySensorScriptPaths = getFirstPartySensorScriptPaths;
16
- var getFirstPartyCaptchaScriptPathPrefixes = function (config) {
17
- return (0, exports.getFirstPartyPaths)(config, exports.getFirstPartyCaptchaScriptPathPrefix);
18
- };
19
- exports.getFirstPartyCaptchaScriptPathPrefixes = getFirstPartyCaptchaScriptPathPrefixes;
20
- var getFirstPartyXhrPathPrefixes = function (config) {
21
- return (0, exports.getFirstPartyPaths)(config, exports.getFirstPartyXhrPathPrefix);
22
- };
23
- exports.getFirstPartyXhrPathPrefixes = getFirstPartyXhrPathPrefixes;
24
- var getFirstPartySensorScriptPath = function (prefix) { return "/".concat(prefix, "/init.js"); };
25
- exports.getFirstPartySensorScriptPath = getFirstPartySensorScriptPath;
26
- var getFirstPartyCaptchaScriptPathPrefix = function (prefix) { return "/".concat(prefix, "/captcha"); };
27
- exports.getFirstPartyCaptchaScriptPathPrefix = getFirstPartyCaptchaScriptPathPrefix;
28
- var getFirstPartyXhrPathPrefix = function (prefix) { return "/".concat(prefix, "/xhr"); };
29
- exports.getFirstPartyXhrPathPrefix = getFirstPartyXhrPathPrefix;
@@ -1,4 +0,0 @@
1
- import { IHeaders } from './IHeaders';
2
- export declare type ReadOnlyHeaders = Readonly<Record<string, string[]>>;
3
- export declare const toReadOnlyHeaders: (headers: IHeaders) => ReadOnlyHeaders;
4
- export declare const joinHeaderValues: (headers: ReadOnlyHeaders) => Record<string, string>;