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,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,100 +7,53 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.DefaultCors = void 0;
40
- var constants_1 = require("./constants");
41
- var http_1 = require("../http");
42
- var DefaultCors = /** @class */ (function () {
43
- function DefaultCors(config) {
10
+ import { ACCESS_CONTROL_REQUEST_METHOD_HEADER, ORIGIN_HEADER } from './constants';
11
+ import { HttpMethod } from '../http';
12
+ export class DefaultCors {
13
+ constructor(config) {
44
14
  this.customBlockResponseHeaders = config.corsCreateCustomBlockResponseHeaders;
45
15
  this.customPreflightHandler = config.corsCustomPreflightHandler;
46
16
  this.logger = config.logger;
47
17
  }
48
- DefaultCors.prototype.isPreflightRequest = function (context) {
49
- var requestData = context.requestData;
50
- return !!(requestData.method.toUpperCase() === http_1.HttpMethod.OPTIONS &&
51
- requestData.headers[constants_1.ORIGIN_HEADER] &&
52
- requestData.headers[constants_1.ACCESS_CONTROL_REQUEST_METHOD_HEADER]);
53
- };
54
- DefaultCors.prototype.runPreflightCustomHandler = function (context) {
55
- return __awaiter(this, void 0, void 0, function () {
56
- var e_1;
57
- return __generator(this, function (_a) {
58
- switch (_a.label) {
59
- case 0:
60
- if (!(this.customPreflightHandler && typeof this.customPreflightHandler === 'function')) return [3 /*break*/, 4];
61
- _a.label = 1;
62
- case 1:
63
- _a.trys.push([1, 3, , 4]);
64
- return [4 /*yield*/, this.customPreflightHandler(context.requestData.request)];
65
- case 2: return [2 /*return*/, _a.sent()];
66
- case 3:
67
- e_1 = _a.sent();
68
- this.logger.debug("Exception occurred while executing custom preflight handler: ".concat(e_1));
69
- return [3 /*break*/, 4];
70
- case 4: return [2 /*return*/, null];
18
+ isPreflightRequest(context) {
19
+ const { requestData } = context;
20
+ return !!(requestData.method.toUpperCase() === HttpMethod.OPTIONS &&
21
+ requestData.headers[ORIGIN_HEADER] &&
22
+ requestData.headers[ACCESS_CONTROL_REQUEST_METHOD_HEADER]);
23
+ }
24
+ runPreflightCustomHandler(context) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ if (this.customPreflightHandler && typeof this.customPreflightHandler === 'function') {
27
+ try {
28
+ return yield this.customPreflightHandler(context.requestData.request.getUnderlyingRequest());
29
+ }
30
+ catch (e) {
31
+ this.logger.debug(`Exception occurred while executing custom preflight handler: ${e}`);
71
32
  }
72
- });
33
+ }
34
+ return null;
73
35
  });
74
- };
75
- DefaultCors.prototype.isCorsRequest = function (context) {
76
- return !!context.requestData.headers[constants_1.ORIGIN_HEADER];
77
- };
78
- DefaultCors.prototype.getCorsBlockHeaders = function (context) {
79
- return __awaiter(this, void 0, void 0, function () {
80
- var e_2;
81
- return __generator(this, function (_a) {
82
- switch (_a.label) {
83
- case 0:
84
- if (!(this.customBlockResponseHeaders && typeof this.customBlockResponseHeaders === 'function')) return [3 /*break*/, 4];
85
- _a.label = 1;
86
- case 1:
87
- _a.trys.push([1, 3, , 4]);
88
- return [4 /*yield*/, this.customBlockResponseHeaders(context.requestData.request)];
89
- case 2: return [2 /*return*/, _a.sent()];
90
- case 3:
91
- e_2 = _a.sent();
92
- this.logger.debug("Exception occurred in px_cors_create_custom_block_response_headers custom function: ".concat(e_2));
93
- return [3 /*break*/, 4];
94
- case 4: return [2 /*return*/, this.getDefaultCorsHeaders(context)];
36
+ }
37
+ isCorsRequest(context) {
38
+ return !!context.requestData.headers[ORIGIN_HEADER];
39
+ }
40
+ getCorsBlockHeaders(context) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ if (this.customBlockResponseHeaders && typeof this.customBlockResponseHeaders === 'function') {
43
+ try {
44
+ return yield this.customBlockResponseHeaders(context.requestData.request.getUnderlyingRequest());
45
+ }
46
+ catch (e) {
47
+ this.logger.debug(`Exception occurred in px_cors_create_custom_block_response_headers custom function: ${e}`);
95
48
  }
96
- });
49
+ }
50
+ return this.getDefaultCorsHeaders(context);
97
51
  });
98
- };
99
- DefaultCors.prototype.getDefaultCorsHeaders = function (context) {
52
+ }
53
+ getDefaultCorsHeaders(context) {
100
54
  return {
101
- 'Access-Control-Allow-Origin': context.requestData.headers[constants_1.ORIGIN_HEADER],
55
+ 'Access-Control-Allow-Origin': context.requestData.headers[ORIGIN_HEADER],
102
56
  'Access-Control-Allow-Credentials': ['true'],
103
57
  };
104
- };
105
- return DefaultCors;
106
- }());
107
- exports.DefaultCors = DefaultCors;
58
+ }
59
+ }
@@ -1,26 +1,26 @@
1
- import { IContext } from '../context';
1
+ import { ReadonlyContext } from '../context';
2
2
  import { IMinimalResponse } from '../http';
3
- import { ReadOnlyHeaders } from '../http';
4
- export interface ICors {
3
+ import { ReadonlyHeaders } from '../http';
4
+ export interface ICors<Req, Res> {
5
5
  /**
6
6
  * @param context
7
7
  * @returns boolean - Whether the request is preflight.
8
8
  */
9
- isPreflightRequest(context: IContext): boolean;
9
+ isPreflightRequest(context: ReadonlyContext<Req, Res>): boolean;
10
10
  /**
11
11
  * @param context- The request context.
12
12
  * @returns IMinimalResponse- The response that return to client for preflight request.
13
13
  */
14
- runPreflightCustomHandler(context: IContext): Promise<IMinimalResponse> | null;
14
+ runPreflightCustomHandler(context: ReadonlyContext<Req, Res>): Promise<IMinimalResponse> | null;
15
15
  /**
16
16
  * @param context- The request context.
17
17
  * @returns boolean - Whether the request is CORS.
18
18
  */
19
- isCorsRequest(context: IContext): boolean;
19
+ isCorsRequest(context: ReadonlyContext<Req, Res>): boolean;
20
20
  /**
21
21
  *
22
22
  * @param context - The request context.
23
23
  * @returns ReadOnlyHeaders - headers to be added to the block response.
24
24
  */
25
- getCorsBlockHeaders(context: IContext): Promise<ReadOnlyHeaders>;
25
+ getCorsBlockHeaders(context: ReadonlyContext<Req, Res>): Promise<ReadonlyHeaders>;
26
26
  }
package/lib/cors/ICors.js CHANGED
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,5 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ACCESS_CONTROL_REQUEST_METHOD_HEADER = exports.ORIGIN_HEADER = void 0;
4
- exports.ORIGIN_HEADER = 'origin';
5
- exports.ACCESS_CONTROL_REQUEST_METHOD_HEADER = 'access-control-request-method';
1
+ export const ORIGIN_HEADER = 'origin';
2
+ export const ACCESS_CONTROL_REQUEST_METHOD_HEADER = 'access-control-request-method';
package/lib/cors/index.js CHANGED
@@ -1,20 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.DefaultCors = void 0;
18
- var DefaultCors_1 = require("./DefaultCors");
19
- Object.defineProperty(exports, "DefaultCors", { enumerable: true, get: function () { return DefaultCors_1.DefaultCors; } });
20
- __exportStar(require("./constants"), exports);
1
+ export { DefaultCors } from './DefaultCors';
2
+ export * from './constants';
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,4 +1,3 @@
1
1
  import { ConfigurationParams } from '../config';
2
2
  import { CustomParameters } from './CustomParameters';
3
- import { IIncomingRequest } from '../http/interfaces/IIncomingRequest';
4
- export declare type CustomParametersFunction = (config: ConfigurationParams, httpRequest: IIncomingRequest) => CustomParameters | Promise<CustomParameters>;
3
+ export declare type CustomParametersFunction<Req, Res> = (config: ConfigurationParams<Req, Res>, request: Req) => CustomParameters | Promise<CustomParameters>;
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { IConfiguration } from '../config';
2
- import { IContext } from '../context';
2
+ import { ReadonlyContext } from '../context';
3
3
  import { CustomParameters } from './CustomParameters';
4
4
  export declare namespace CustomParametersUtils {
5
- const handleCustomParameters: (config: IConfiguration, context: IContext) => Promise<void>;
5
+ const createCustomParameters: <Req, Res>(config: IConfiguration<Req, Res>, context: ReadonlyContext<Req, Res>) => Promise<CustomParameters | null>;
6
6
  const normalizeCustomParams: (customParameters: Record<string, any>) => CustomParameters;
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,71 +7,30 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.CustomParametersUtils = void 0;
40
- var CustomParametersUtils;
10
+ export var CustomParametersUtils;
41
11
  (function (CustomParametersUtils) {
42
- var _this = this;
43
- CustomParametersUtils.handleCustomParameters = function (config, context) { return __awaiter(_this, void 0, void 0, function () {
44
- var parameters, e_1;
45
- return __generator(this, function (_a) {
46
- switch (_a.label) {
47
- case 0:
48
- if (!(config.enrichCustomParameters && typeof config.enrichCustomParameters === 'function')) return [3 /*break*/, 4];
49
- _a.label = 1;
50
- case 1:
51
- _a.trys.push([1, 3, , 4]);
52
- return [4 /*yield*/, config.enrichCustomParameters(config.toParams(), context.requestData.request)];
53
- case 2:
54
- parameters = _a.sent();
55
- context.customParameters = CustomParametersUtils.normalizeCustomParams(parameters);
56
- return [3 /*break*/, 4];
57
- case 3:
58
- e_1 = _a.sent();
59
- config.logger.error("unable to enrich custom params: ".concat(e_1));
60
- return [3 /*break*/, 4];
61
- case 4: return [2 /*return*/];
12
+ CustomParametersUtils.createCustomParameters = (config, context) => __awaiter(this, void 0, void 0, function* () {
13
+ if (config.enrichCustomParameters && typeof config.enrichCustomParameters === 'function') {
14
+ try {
15
+ const parameters = yield config.enrichCustomParameters(config.toParams(), context.requestData.request.getUnderlyingRequest());
16
+ return CustomParametersUtils.normalizeCustomParams(parameters);
17
+ }
18
+ catch (e) {
19
+ config.logger.error(`unable to enrich custom params: ${e}`);
62
20
  }
63
- });
64
- }); };
65
- CustomParametersUtils.normalizeCustomParams = function (customParameters) {
66
- var normalizedParams = {};
21
+ }
22
+ return null;
23
+ });
24
+ CustomParametersUtils.normalizeCustomParams = (customParameters) => {
25
+ const normalizedParams = {};
67
26
  if (customParameters && typeof customParameters === 'object') {
68
- var paramKeyRegex_1 = /^custom_param([1-9]|10)$/;
69
- Object.entries(customParameters).forEach(function (_a) {
70
- var param = _a[0], value = _a[1];
71
- if (param.match(paramKeyRegex_1) && value !== '') {
27
+ const paramKeyRegex = /^custom_param([1-9]|10)$/;
28
+ Object.entries(customParameters).forEach(([param, value]) => {
29
+ if (param.match(paramKeyRegex) && value !== '') {
72
30
  normalizedParams[param] = value;
73
31
  }
74
32
  });
75
33
  }
76
34
  return Object.keys(normalizedParams).length === 0 ? null : normalizedParams;
77
35
  };
78
- })(CustomParametersUtils = exports.CustomParametersUtils || (exports.CustomParametersUtils = {}));
36
+ })(CustomParametersUtils || (CustomParametersUtils = {}));
@@ -1,5 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CustomParametersUtils = void 0;
4
- var CustomParametersUtils_1 = require("./CustomParametersUtils");
5
- Object.defineProperty(exports, "CustomParametersUtils", { enumerable: true, get: function () { return CustomParametersUtils_1.CustomParametersUtils; } });
1
+ export { CustomParametersUtils } from './CustomParametersUtils';
@@ -1,98 +1,62 @@
1
- import { IEnforcer } from './IEnforcer';
2
1
  import { IConfiguration } from '../config';
3
- import { IBase64Utils, ICipherUtils, IHashUtils, IIpRangeChecker, IScoreRetriever } from '../utils';
2
+ import { IBase64Utils, IHashUtils, IIpRangeChecker } from '../utils';
4
3
  import { IContext } from '../context';
5
- import { IFilter } from '../filter';
6
- import { IDataEnrichment } from '../pxde';
7
- import { IFirstParty } from '../first_party';
8
- import { ITelemetry } from '../telemetry';
9
- import { IBlockResponseGenerator } from '../block_handler';
10
4
  import { TokenVersion } from '../risk_token';
5
+ import { IMinimalResponse, IOutgoingResponse } from '../http';
6
+ import { IPhase } from '../phase';
7
+ import { Products } from '../products';
11
8
  import { IActivityClient } from '../activities';
12
- import { IGraphQLParser } from '../graphql';
13
- import { ICors } from '../cors';
14
- import { IHttpClient, IMinimalResponse, IOutgoingResponse } from '../http';
15
- export declare type EnforcerBaseOptions = {
16
- tokenVersion?: TokenVersion;
17
- dataEnrichment?: IDataEnrichment;
18
- filter?: IFilter;
19
- cookieScoreRetriever?: IScoreRetriever;
20
- ipRangeChecker?: IIpRangeChecker;
21
- base64Utils?: IBase64Utils;
22
- hashUtils?: IHashUtils;
23
- cipherUtils?: ICipherUtils;
24
- blockGenerator?: IBlockResponseGenerator;
25
- graphqlParser?: IGraphQLParser;
26
- cors?: ICors;
27
- } & ({
28
- httpClient: IHttpClient;
29
- firstParty?: IFirstParty;
30
- telemetry?: ITelemetry;
31
- riskApiScoreRetriever?: IScoreRetriever;
32
- activityClient?: IActivityClient;
33
- } | {
34
- httpClient?: IHttpClient;
35
- firstParty: IFirstParty;
36
- telemetry: ITelemetry;
37
- riskApiScoreRetriever: IScoreRetriever;
38
- activityClient: IActivityClient;
39
- });
40
- export declare abstract class EnforcerBase<EnforceArgs extends any[], Req, Res> implements IEnforcer<EnforceArgs, [Req, Res, ...EnforceArgs], Promise<null | Res>, Promise<void>> {
41
- protected config: IConfiguration;
42
- protected filter: IFilter;
43
- protected dataEnrichment: IDataEnrichment;
44
- protected firstParty: IFirstParty;
45
- protected telemetry: ITelemetry;
46
- protected cookieScoreRetriever: IScoreRetriever;
47
- protected riskApiScoreRetriever: IScoreRetriever;
48
- protected blockGenerator: IBlockResponseGenerator;
49
- protected activityClient: IActivityClient;
50
- protected graphQLParser?: IGraphQLParser;
51
- protected cors?: ICors;
9
+ import { IEnforcer } from './IEnforcer';
10
+ import { EnforcerBaseOptions, EnforcerOptionsType } from './options';
11
+ export declare abstract class EnforcerBase<TokenV extends TokenVersion, Req, Res, EnforceArgs extends any[], PostEnforceArgs extends any[]> implements IEnforcer<EnforceArgs, PostEnforceArgs, Promise<null | Res>, Promise<void>> {
12
+ protected readonly config: IConfiguration<Req, Res>;
13
+ protected readonly filterFlow: IPhase<Req, Res>;
14
+ protected readonly enforceFlow: IPhase<Req, Res>;
15
+ protected readonly postEnforceFlow: IPhase<Req, Res>;
16
+ protected readonly activityClient: IActivityClient<Req, Res>;
52
17
  /**
53
- * Returns the original Req object in case the module is disabled or an error is thrown.
18
+ * Constructs the concrete request context given the provided EnforceArgs.
54
19
  * @param args - The EnforceArgs required to enforce the incoming request.
55
- * @returns Req - The original Req object.
20
+ * @returns IContext - The context for the request.
56
21
  * @protected
57
22
  */
58
- protected abstract getRequestFromArgs(...args: EnforceArgs): Req;
23
+ protected abstract constructContext(...args: EnforceArgs): IContext<Req, Res>;
59
24
  /**
60
- * Constructs the concrete request context given the provided EnforceArgs.
25
+ * Saves the provided context for future use in the postEnforce function.
26
+ * @param context - The IContext that should be saved
61
27
  * @param args - The EnforceArgs required to enforce the incoming request.
62
- * @returns IContext - The context for the request.
28
+ * @returns void
63
29
  * @protected
64
30
  */
65
- protected abstract constructContext(...args: EnforceArgs): IContext;
31
+ protected abstract preserveContext(context: IContext<Req, Res>, ...args: EnforceArgs): void;
66
32
  /**
67
33
  * A function that retrieves the already generated context for use in the postEnforce function.
68
- * @param req - The Req object sent to the origin.
69
- * @param res - The Res object received from the origin.
70
- * @param args - The EnforceArgs required to enforce the incoming request.
34
+ * @param args - The PostEnforce args required to enforce the incoming request.
71
35
  * @returns IContext - The context for the request.
72
36
  * @protected
73
37
  */
74
- protected abstract retrieveContext(req: Req, res: Res, ...args: EnforceArgs): IContext | null;
38
+ protected abstract retrieveContext(...args: PostEnforceArgs): IContext<Req, Res> | null;
75
39
  /**
76
- * Converts the IHttpResponse object into the Res object.
77
- * @param httpResponse - The IHttpResponse object.
40
+ * Converts the IMinimalResponse object into the Res object.
41
+ * @param response - The IMinimalResponse object.
78
42
  * @returns Promise<Res> - A Promise resolving to Res.
79
43
  * @protected
80
44
  */
81
- protected abstract convertToRes(httpResponse: IMinimalResponse): Promise<Res>;
45
+ protected abstract convertToRes(response: IMinimalResponse): Promise<Res>;
82
46
  /**
83
- * Converts the Res object into the IHttpResponse interface.
84
- * @param res - The Res object.
85
- * @returns Promise<IHttpResponse> - A Promise resolving to IHttpResponse.
47
+ * Converts the Res object into the IOutgoingResponse interface.
48
+ * @param args - PostEnforceArgs
49
+ * @returns Promise<IHttpResponse> - A Promise resolving to IOutgoingResponse.
86
50
  * @protected
87
51
  */
88
- protected abstract convertToHttpResponse(res: Res): Promise<IOutgoingResponse>;
52
+ protected abstract convertToOutgoingResponse(...args: PostEnforceArgs): Promise<IOutgoingResponse<Res>>;
89
53
  /**
90
54
  * The EnforcerBase constructor.
91
55
  * @param config - The enforcer configuration.
92
- * @param options - An MinimalResponseOptions object that allows for overriding any functional building blocks in the enforcer.
56
+ * @param options - An EnforcerOptions object that allows for overriding any functional building blocks in the enforcer.
93
57
  * @protected
94
58
  */
95
- protected constructor(config: IConfiguration, options: EnforcerBaseOptions);
59
+ protected constructor(config: IConfiguration<Req, Res>, options: EnforcerOptionsType<TokenV, Req, Res>);
96
60
  /**
97
61
  * The central function that triggers enforcement on the incoming request.
98
62
  * @param args - The EnforceArgs required to enforce the incoming request.
@@ -106,28 +70,22 @@ export declare abstract class EnforcerBase<EnforceArgs extends any[], Req, Res>
106
70
  * @protected
107
71
  */
108
72
  protected doEnforce(...args: EnforceArgs): Promise<Res | null>;
109
- protected createContext(...args: EnforceArgs): Promise<IContext>;
110
- protected handleFirstParty(context: IContext): Promise<IMinimalResponse>;
111
- protected handleFilter(context: IContext): boolean;
112
- protected handleCompleteContextInitialization(context: IContext): Promise<void>;
113
- protected handleGraphQL(context: IContext): Promise<void>;
114
- protected handleEnrichCustomParameters(context: IContext): Promise<void>;
115
- protected handleTelemetryIfNeeded(context: IContext): Promise<void>;
116
- protected handlePxde(context: IContext): Promise<void>;
117
- protected handleCookieRetrieverIfNeeded(context: IContext): Promise<void>;
118
- protected handleRiskApiIfNeeded(context: IContext): Promise<void>;
119
- protected handleAdditionalActivityHandler(context: IContext): Promise<void>;
120
- protected handleBlockResponse(context: IContext): Promise<null | IMinimalResponse>;
121
- protected handleSendActivities(context: IContext): Promise<void>;
122
73
  /**
123
74
  * Performs all required functionality after an origin response has been received.
124
- * @param req - The Req sent to the origin.
125
- * @param res - The Res received from the origin.
126
- * @param args - The EnforceArgs required to enforce the incoming request.
75
+ * @param args - The PostEnforce args required to enforce the incoming request.
127
76
  * @returns Promise<void> - The response parameter will be modified as needed
128
77
  * @protected
129
78
  */
130
- postEnforce(req: Req, res: Res, ...args: EnforceArgs): Promise<void>;
131
- protected setResponseData(context: IContext, response: IOutgoingResponse): Promise<void>;
132
- protected handlePxhd(context: IContext, response: IOutgoingResponse): Promise<void>;
79
+ postEnforce(...args: PostEnforceArgs): Promise<void>;
80
+ sendAdditionalS2SActivity(...args: PostEnforceArgs): Promise<void>;
81
+ /**
82
+ * Returns the components needed to initialize the enforcer according to the provided options. If no
83
+ * component is provided in the options, a default one is generated and returned.
84
+ * @param config
85
+ * @param options
86
+ * @returns Required<EnforcerBaseOptions>
87
+ * @protected
88
+ */
89
+ protected getInitializationBlock(config: IConfiguration<Req, Res>, options: EnforcerOptionsType<TokenV, Req, Res>): Required<EnforcerBaseOptions<Req, Res>>;
90
+ protected initializeProducts(config: IConfiguration<Req, Res>, products: Products<Req, Res>, base64Utils: IBase64Utils, hashUtils: IHashUtils, ipRangeChecker: IIpRangeChecker): Required<Products<Req, Res>>;
133
91
  }