perimeterx-js-core 0.1.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 (288) hide show
  1. package/README.md +158 -0
  2. package/lib/activities/ActivityType.d.ts +6 -0
  3. package/lib/activities/ActivityType.js +10 -0
  4. package/lib/activities/HttpActivityClient.d.ts +12 -0
  5. package/lib/activities/HttpActivityClient.js +107 -0
  6. package/lib/activities/IActivityClient.d.ts +8 -0
  7. package/lib/activities/IActivityClient.js +2 -0
  8. package/lib/activities/constants.d.ts +1 -0
  9. package/lib/activities/constants.js +4 -0
  10. package/lib/activities/index.d.ts +5 -0
  11. package/lib/activities/index.js +7 -0
  12. package/lib/activities/model/Activity.d.ts +13 -0
  13. package/lib/activities/model/Activity.js +2 -0
  14. package/lib/activities/model/ActivityDetails.d.ts +41 -0
  15. package/lib/activities/model/ActivityDetails.js +2 -0
  16. package/lib/activities/utils.d.ts +10 -0
  17. package/lib/activities/utils.js +88 -0
  18. package/lib/additional_activity_handler/AdditionalActivityHandler.d.ts +3 -0
  19. package/lib/additional_activity_handler/AdditionalActivityHandler.js +2 -0
  20. package/lib/additional_activity_handler/AdditionalActivityHandlerUtils.d.ts +5 -0
  21. package/lib/additional_activity_handler/AdditionalActivityHandlerUtils.js +64 -0
  22. package/lib/additional_activity_handler/index.d.ts +2 -0
  23. package/lib/additional_activity_handler/index.js +5 -0
  24. package/lib/block_handler/BlockAction.d.ts +6 -0
  25. package/lib/block_handler/BlockAction.js +21 -0
  26. package/lib/block_handler/BlockReason.d.ts +4 -0
  27. package/lib/block_handler/BlockReason.js +8 -0
  28. package/lib/block_handler/DefaultBlockResponseGenerator.d.ts +14 -0
  29. package/lib/block_handler/DefaultBlockResponseGenerator.js +44 -0
  30. package/lib/block_handler/IBlockResponseGenerator.d.ts +14 -0
  31. package/lib/block_handler/IBlockResponseGenerator.js +2 -0
  32. package/lib/block_handler/captcha/CaptchaBlockResponseGenerator.d.ts +14 -0
  33. package/lib/block_handler/captcha/CaptchaBlockResponseGenerator.js +30 -0
  34. package/lib/block_handler/captcha/HtmlCaptchaResponseGenerator.d.ts +10 -0
  35. package/lib/block_handler/captcha/HtmlCaptchaResponseGenerator.js +25 -0
  36. package/lib/block_handler/captcha/JsonCaptchaResponseGenerator.d.ts +10 -0
  37. package/lib/block_handler/captcha/JsonCaptchaResponseGenerator.js +44 -0
  38. package/lib/block_handler/captcha/MobileCaptchaResponseGenerator.d.ts +12 -0
  39. package/lib/block_handler/captcha/MobileCaptchaResponseGenerator.js +36 -0
  40. package/lib/block_handler/index.d.ts +13 -0
  41. package/lib/block_handler/index.js +21 -0
  42. package/lib/block_handler/model/BlockData.d.ts +16 -0
  43. package/lib/block_handler/model/BlockData.js +2 -0
  44. package/lib/block_handler/model/JsonBlockPayload.d.ts +11 -0
  45. package/lib/block_handler/model/JsonBlockPayload.js +2 -0
  46. package/lib/block_handler/model/MobileBlockPayload.d.ts +8 -0
  47. package/lib/block_handler/model/MobileBlockPayload.js +2 -0
  48. package/lib/block_handler/templates/captcha_template.d.ts +1 -0
  49. package/lib/block_handler/templates/captcha_template.js +4 -0
  50. package/lib/block_handler/templates/rate_limit_template.d.ts +1 -0
  51. package/lib/block_handler/templates/rate_limit_template.js +4 -0
  52. package/lib/block_handler/utils.d.ts +5 -0
  53. package/lib/block_handler/utils.js +48 -0
  54. package/lib/config/ConfigurationParams.d.ts +65 -0
  55. package/lib/config/ConfigurationParams.js +2 -0
  56. package/lib/config/DefaultConfigurations.d.ts +2 -0
  57. package/lib/config/DefaultConfigurations.js +107 -0
  58. package/lib/config/IConfiguration.d.ts +172 -0
  59. package/lib/config/IConfiguration.js +2 -0
  60. package/lib/config/StaticConfigurationBase.d.ts +57 -0
  61. package/lib/config/StaticConfigurationBase.js +355 -0
  62. package/lib/config/index.d.ts +4 -0
  63. package/lib/config/index.js +7 -0
  64. package/lib/context/ContextBase.d.ts +55 -0
  65. package/lib/context/ContextBase.js +206 -0
  66. package/lib/context/DefaultTokenV2Context.d.ts +13 -0
  67. package/lib/context/DefaultTokenV2Context.js +35 -0
  68. package/lib/context/DefaultTokenV3Context.d.ts +13 -0
  69. package/lib/context/DefaultTokenV3Context.js +35 -0
  70. package/lib/context/IContext.d.ts +256 -0
  71. package/lib/context/IContext.js +2 -0
  72. package/lib/context/index.d.ts +4 -0
  73. package/lib/context/index.js +9 -0
  74. package/lib/custom_parameters/CustomParameters.d.ts +12 -0
  75. package/lib/custom_parameters/CustomParameters.js +2 -0
  76. package/lib/custom_parameters/CustomParametersFunction.d.ts +4 -0
  77. package/lib/custom_parameters/CustomParametersFunction.js +2 -0
  78. package/lib/custom_parameters/CustomParametersUtils.d.ts +4 -0
  79. package/lib/custom_parameters/CustomParametersUtils.js +19 -0
  80. package/lib/custom_parameters/index.d.ts +3 -0
  81. package/lib/custom_parameters/index.js +5 -0
  82. package/lib/enforcer/EnforcerBase.d.ts +139 -0
  83. package/lib/enforcer/EnforcerBase.js +376 -0
  84. package/lib/enforcer/IEnforcer.d.ts +4 -0
  85. package/lib/enforcer/IEnforcer.js +2 -0
  86. package/lib/enforcer/index.d.ts +2 -0
  87. package/lib/enforcer/index.js +5 -0
  88. package/lib/filter/DefaultFilter.d.ts +16 -0
  89. package/lib/filter/DefaultFilter.js +59 -0
  90. package/lib/filter/FilterReason.d.ts +8 -0
  91. package/lib/filter/FilterReason.js +12 -0
  92. package/lib/filter/IFilter.d.ts +8 -0
  93. package/lib/filter/IFilter.js +2 -0
  94. package/lib/filter/index.d.ts +3 -0
  95. package/lib/filter/index.js +7 -0
  96. package/lib/first_party/DefaultFirstParty.d.ts +22 -0
  97. package/lib/first_party/DefaultFirstParty.js +215 -0
  98. package/lib/first_party/IFirstParty.d.ts +9 -0
  99. package/lib/first_party/IFirstParty.js +2 -0
  100. package/lib/first_party/constants.d.ts +32 -0
  101. package/lib/first_party/constants.js +39 -0
  102. package/lib/first_party/index.d.ts +4 -0
  103. package/lib/first_party/index.js +21 -0
  104. package/lib/first_party/utils.d.ts +8 -0
  105. package/lib/first_party/utils.js +27 -0
  106. package/lib/http/IHttpClient.d.ts +10 -0
  107. package/lib/http/IHttpClient.js +2 -0
  108. package/lib/http/body_reader/IBodyReader.d.ts +5 -0
  109. package/lib/http/body_reader/IBodyReader.js +2 -0
  110. package/lib/http/body_reader/StringBodyReader.d.ts +8 -0
  111. package/lib/http/body_reader/StringBodyReader.js +70 -0
  112. package/lib/http/index.d.ts +10 -0
  113. package/lib/http/index.js +28 -0
  114. package/lib/http/request/DefaultHttpRequest.d.ts +5 -0
  115. package/lib/http/request/DefaultHttpRequest.js +42 -0
  116. package/lib/http/request/HttpRequestBase.d.ts +24 -0
  117. package/lib/http/request/HttpRequestBase.js +77 -0
  118. package/lib/http/request/IHttpRequest.d.ts +31 -0
  119. package/lib/http/request/IHttpRequest.js +2 -0
  120. package/lib/http/response/DefaultHttpResponse.d.ts +5 -0
  121. package/lib/http/response/DefaultHttpResponse.js +32 -0
  122. package/lib/http/response/HttpResponseBase.d.ts +17 -0
  123. package/lib/http/response/HttpResponseBase.js +75 -0
  124. package/lib/http/response/IHttpResponse.d.ts +26 -0
  125. package/lib/http/response/IHttpResponse.js +2 -0
  126. package/lib/http/utils/ContentType.d.ts +9 -0
  127. package/lib/http/utils/ContentType.js +13 -0
  128. package/lib/http/utils/HttpBody.d.ts +4 -0
  129. package/lib/http/utils/HttpBody.js +2 -0
  130. package/lib/http/utils/HttpHeaders.d.ts +51 -0
  131. package/lib/http/utils/HttpHeaders.js +106 -0
  132. package/lib/http/utils/HttpMethod.d.ts +11 -0
  133. package/lib/http/utils/HttpMethod.js +15 -0
  134. package/lib/http/utils/constants.d.ts +9 -0
  135. package/lib/http/utils/constants.js +12 -0
  136. package/lib/http/utils/index.d.ts +5 -0
  137. package/lib/http/utils/index.js +24 -0
  138. package/lib/index.d.ts +17 -0
  139. package/lib/index.js +33 -0
  140. package/lib/logger/DefaultLogger.d.ts +7 -0
  141. package/lib/logger/DefaultLogger.js +31 -0
  142. package/lib/logger/ILogger.d.ts +24 -0
  143. package/lib/logger/ILogger.js +2 -0
  144. package/lib/logger/LoggerBase.d.ts +11 -0
  145. package/lib/logger/LoggerBase.js +28 -0
  146. package/lib/logger/LoggerSeverity.d.ts +5 -0
  147. package/lib/logger/LoggerSeverity.js +9 -0
  148. package/lib/logger/index.d.ts +4 -0
  149. package/lib/logger/index.js +9 -0
  150. package/lib/pxde/DefaultDataEnrichment.d.ts +14 -0
  151. package/lib/pxde/DefaultDataEnrichment.js +133 -0
  152. package/lib/pxde/IDataEnrichment.d.ts +9 -0
  153. package/lib/pxde/IDataEnrichment.js +2 -0
  154. package/lib/pxde/constants.d.ts +4 -0
  155. package/lib/pxde/constants.js +7 -0
  156. package/lib/pxde/index.d.ts +4 -0
  157. package/lib/pxde/index.js +20 -0
  158. package/lib/pxde/model/PXDE.d.ts +9 -0
  159. package/lib/pxde/model/PXDE.js +2 -0
  160. package/lib/pxhd/PXHDUtils.d.ts +8 -0
  161. package/lib/pxhd/PXHDUtils.js +20 -0
  162. package/lib/pxhd/index.d.ts +1 -0
  163. package/lib/pxhd/index.js +5 -0
  164. package/lib/risk_api/PostRiskApiClient.d.ts +27 -0
  165. package/lib/risk_api/PostRiskApiClient.js +232 -0
  166. package/lib/risk_api/S2SCallReason.d.ts +12 -0
  167. package/lib/risk_api/S2SCallReason.js +16 -0
  168. package/lib/risk_api/S2SErrorHandler.d.ts +9 -0
  169. package/lib/risk_api/S2SErrorHandler.js +121 -0
  170. package/lib/risk_api/S2SErrorReason.d.ts +8 -0
  171. package/lib/risk_api/S2SErrorReason.js +12 -0
  172. package/lib/risk_api/constants.d.ts +1 -0
  173. package/lib/risk_api/constants.js +4 -0
  174. package/lib/risk_api/index.d.ts +13 -0
  175. package/lib/risk_api/index.js +34 -0
  176. package/lib/risk_api/model/RiskActivity.d.ts +50 -0
  177. package/lib/risk_api/model/RiskActivity.js +2 -0
  178. package/lib/risk_api/model/RiskResponseV2.d.ts +10 -0
  179. package/lib/risk_api/model/RiskResponseV2.js +2 -0
  180. package/lib/risk_api/model/RiskResponseV3.d.ts +12 -0
  181. package/lib/risk_api/model/RiskResponseV3.js +2 -0
  182. package/lib/risk_api/model/RiskStatus.d.ts +4 -0
  183. package/lib/risk_api/model/RiskStatus.js +8 -0
  184. package/lib/risk_api/risk_response_handler/IRiskResponseHandler.d.ts +5 -0
  185. package/lib/risk_api/risk_response_handler/IRiskResponseHandler.js +2 -0
  186. package/lib/risk_api/risk_response_handler/RiskResponseHandlerBase.d.ts +16 -0
  187. package/lib/risk_api/risk_response_handler/RiskResponseHandlerBase.js +73 -0
  188. package/lib/risk_api/risk_response_handler/RiskResponseV2Handler.d.ts +10 -0
  189. package/lib/risk_api/risk_response_handler/RiskResponseV2Handler.js +46 -0
  190. package/lib/risk_api/risk_response_handler/RiskResponseV3Handler.d.ts +10 -0
  191. package/lib/risk_api/risk_response_handler/RiskResponseV3Handler.js +47 -0
  192. package/lib/risk_token/MobileError.d.ts +6 -0
  193. package/lib/risk_token/MobileError.js +10 -0
  194. package/lib/risk_token/MobileErrorHandler.d.ts +9 -0
  195. package/lib/risk_token/MobileErrorHandler.js +100 -0
  196. package/lib/risk_token/RiskTokenScoreRetriever.d.ts +14 -0
  197. package/lib/risk_token/RiskTokenScoreRetriever.js +148 -0
  198. package/lib/risk_token/TokenOrigin.d.ts +4 -0
  199. package/lib/risk_token/TokenOrigin.js +8 -0
  200. package/lib/risk_token/TokenVerificationResult.d.ts +6 -0
  201. package/lib/risk_token/TokenVerificationResult.js +10 -0
  202. package/lib/risk_token/TokenVersion.d.ts +4 -0
  203. package/lib/risk_token/TokenVersion.js +8 -0
  204. package/lib/risk_token/constants.d.ts +9 -0
  205. package/lib/risk_token/constants.js +12 -0
  206. package/lib/risk_token/index.d.ts +9 -0
  207. package/lib/risk_token/index.js +32 -0
  208. package/lib/risk_token/token/BotDefenderTokenBase.d.ts +27 -0
  209. package/lib/risk_token/token/BotDefenderTokenBase.js +94 -0
  210. package/lib/risk_token/token/IBotDefenderToken.d.ts +54 -0
  211. package/lib/risk_token/token/IBotDefenderToken.js +2 -0
  212. package/lib/risk_token/token/index.d.ts +7 -0
  213. package/lib/risk_token/token/index.js +11 -0
  214. package/lib/risk_token/token/v2/BotDefenderTokenV2Payload.d.ts +6 -0
  215. package/lib/risk_token/token/v2/BotDefenderTokenV2Payload.js +2 -0
  216. package/lib/risk_token/token/v2/DefaultBotDefenderTokenV2.d.ts +28 -0
  217. package/lib/risk_token/token/v2/DefaultBotDefenderTokenV2.js +199 -0
  218. package/lib/risk_token/token/v3/BotDefenderTokenV3Payload.d.ts +9 -0
  219. package/lib/risk_token/token/v3/BotDefenderTokenV3Payload.js +2 -0
  220. package/lib/risk_token/token/v3/DefaultBotDefenderTokenV3.d.ts +31 -0
  221. package/lib/risk_token/token/v3/DefaultBotDefenderTokenV3.js +231 -0
  222. package/lib/risk_token/token/v3/TokenSignField.d.ts +4 -0
  223. package/lib/risk_token/token/v3/TokenSignField.js +8 -0
  224. package/lib/risk_token/utils.d.ts +2 -0
  225. package/lib/risk_token/utils.js +16 -0
  226. package/lib/telemetry/DefaultTelemetry.d.ts +19 -0
  227. package/lib/telemetry/DefaultTelemetry.js +176 -0
  228. package/lib/telemetry/ITelemetry.d.ts +13 -0
  229. package/lib/telemetry/ITelemetry.js +2 -0
  230. package/lib/telemetry/constants.d.ts +7 -0
  231. package/lib/telemetry/constants.js +10 -0
  232. package/lib/telemetry/index.d.ts +4 -0
  233. package/lib/telemetry/index.js +20 -0
  234. package/lib/telemetry/model/TelemetryActivity.d.ts +15 -0
  235. package/lib/telemetry/model/TelemetryActivity.js +2 -0
  236. package/lib/utils/Algorithm.d.ts +4 -0
  237. package/lib/utils/Algorithm.js +8 -0
  238. package/lib/utils/EnforcerException.d.ts +3 -0
  239. package/lib/utils/EnforcerException.js +26 -0
  240. package/lib/utils/IScoreRetriever.d.ts +14 -0
  241. package/lib/utils/IScoreRetriever.js +2 -0
  242. package/lib/utils/ModuleMode.d.ts +4 -0
  243. package/lib/utils/ModuleMode.js +8 -0
  244. package/lib/utils/PassReason.d.ts +6 -0
  245. package/lib/utils/PassReason.js +10 -0
  246. package/lib/utils/VidSource.d.ts +4 -0
  247. package/lib/utils/VidSource.js +8 -0
  248. package/lib/utils/base64/DefaultBase64Utils.d.ts +5 -0
  249. package/lib/utils/base64/DefaultBase64Utils.js +16 -0
  250. package/lib/utils/base64/IBase64Utils.d.ts +4 -0
  251. package/lib/utils/base64/IBase64Utils.js +2 -0
  252. package/lib/utils/base64/index.d.ts +2 -0
  253. package/lib/utils/base64/index.js +5 -0
  254. package/lib/utils/cipher/ICipherUtils.d.ts +7 -0
  255. package/lib/utils/cipher/ICipherUtils.js +2 -0
  256. package/lib/utils/cipher/index.d.ts +1 -0
  257. package/lib/utils/cipher/index.js +2 -0
  258. package/lib/utils/constants.d.ts +10 -0
  259. package/lib/utils/constants.js +13 -0
  260. package/lib/utils/cookie_parser/DefaultCookieParser.d.ts +4 -0
  261. package/lib/utils/cookie_parser/DefaultCookieParser.js +13 -0
  262. package/lib/utils/cookie_parser/ICookieParser.d.ts +3 -0
  263. package/lib/utils/cookie_parser/ICookieParser.js +2 -0
  264. package/lib/utils/cookie_parser/index.d.ts +2 -0
  265. package/lib/utils/cookie_parser/index.js +5 -0
  266. package/lib/utils/hash/DefaultHashUtils.d.ts +5 -0
  267. package/lib/utils/hash/DefaultHashUtils.js +19 -0
  268. package/lib/utils/hash/IHashUtils.d.ts +4 -0
  269. package/lib/utils/hash/IHashUtils.js +2 -0
  270. package/lib/utils/hash/index.d.ts +2 -0
  271. package/lib/utils/hash/index.js +5 -0
  272. package/lib/utils/index.d.ts +14 -0
  273. package/lib/utils/index.js +35 -0
  274. package/lib/utils/ip_range_checker/DefaultIpRangeChecker.d.ts +4 -0
  275. package/lib/utils/ip_range_checker/DefaultIpRangeChecker.js +13 -0
  276. package/lib/utils/ip_range_checker/IIpRangeChecker.d.ts +3 -0
  277. package/lib/utils/ip_range_checker/IIpRangeChecker.js +2 -0
  278. package/lib/utils/ip_range_checker/index.d.ts +2 -0
  279. package/lib/utils/ip_range_checker/index.js +5 -0
  280. package/lib/utils/utils.d.ts +13 -0
  281. package/lib/utils/utils.js +91 -0
  282. package/lib/utils/uuid_generator/DefaultUuidGenerator.d.ts +4 -0
  283. package/lib/utils/uuid_generator/DefaultUuidGenerator.js +13 -0
  284. package/lib/utils/uuid_generator/IUuidGenerator.d.ts +3 -0
  285. package/lib/utils/uuid_generator/IUuidGenerator.js +2 -0
  286. package/lib/utils/uuid_generator/index.d.ts +2 -0
  287. package/lib/utils/uuid_generator/index.js +5 -0
  288. package/package.json +52 -0
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.DefaultLogger = void 0;
19
+ var LoggerBase_1 = require("./LoggerBase");
20
+ var DefaultLogger = /** @class */ (function (_super) {
21
+ __extends(DefaultLogger, _super);
22
+ function DefaultLogger(loggerSeverity) {
23
+ return _super.call(this, loggerSeverity) || this;
24
+ }
25
+ DefaultLogger.prototype.log = function (message) {
26
+ /* eslint-disable no-console */
27
+ console.log(message);
28
+ };
29
+ return DefaultLogger;
30
+ }(LoggerBase_1.LoggerBase));
31
+ exports.DefaultLogger = DefaultLogger;
@@ -0,0 +1,24 @@
1
+ import { LoggerSeverity } from './LoggerSeverity';
2
+ export interface ILogger {
3
+ /**
4
+ * @returns LoggerSeverity - The current logger severity.
5
+ */
6
+ getLoggerSeverity(): LoggerSeverity;
7
+ /**
8
+ * @param loggerSeverity - The desired LoggerSeverity.
9
+ * @returns void
10
+ */
11
+ setLoggerSeverity(loggerSeverity: LoggerSeverity): void;
12
+ /**
13
+ * Logs the provided message if the logger's severity supports debug messages.
14
+ * @param message - The string message to log.
15
+ * @returns void
16
+ */
17
+ debug(message: string): void;
18
+ /**
19
+ * Logs the provided message if the logger's severity supports error messages.
20
+ * @param message - The string message to log.
21
+ * @returns void
22
+ */
23
+ error(message: string): void;
24
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ import { ILogger } from './ILogger';
2
+ import { LoggerSeverity } from './LoggerSeverity';
3
+ export declare abstract class LoggerBase implements ILogger {
4
+ private loggerSeverity;
5
+ protected constructor(loggerSeverity?: LoggerSeverity);
6
+ protected abstract log(message: string): void;
7
+ debug(message: string): void;
8
+ error(message: string): void;
9
+ getLoggerSeverity(): LoggerSeverity;
10
+ setLoggerSeverity(loggerSeverity: LoggerSeverity): void;
11
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoggerBase = void 0;
4
+ var LoggerSeverity_1 = require("./LoggerSeverity");
5
+ var LoggerBase = /** @class */ (function () {
6
+ function LoggerBase(loggerSeverity) {
7
+ if (loggerSeverity === void 0) { loggerSeverity = LoggerSeverity_1.LoggerSeverity.ERROR; }
8
+ this.loggerSeverity = loggerSeverity;
9
+ }
10
+ LoggerBase.prototype.debug = function (message) {
11
+ if (this.loggerSeverity === LoggerSeverity_1.LoggerSeverity.DEBUG) {
12
+ this.log(message);
13
+ }
14
+ };
15
+ LoggerBase.prototype.error = function (message) {
16
+ if (this.loggerSeverity !== LoggerSeverity_1.LoggerSeverity.NONE) {
17
+ this.log(message);
18
+ }
19
+ };
20
+ LoggerBase.prototype.getLoggerSeverity = function () {
21
+ return this.loggerSeverity;
22
+ };
23
+ LoggerBase.prototype.setLoggerSeverity = function (loggerSeverity) {
24
+ this.loggerSeverity = loggerSeverity;
25
+ };
26
+ return LoggerBase;
27
+ }());
28
+ exports.LoggerBase = LoggerBase;
@@ -0,0 +1,5 @@
1
+ export declare enum LoggerSeverity {
2
+ NONE = "none",
3
+ ERROR = "error",
4
+ DEBUG = "debug"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoggerSeverity = void 0;
4
+ var LoggerSeverity;
5
+ (function (LoggerSeverity) {
6
+ LoggerSeverity["NONE"] = "none";
7
+ LoggerSeverity["ERROR"] = "error";
8
+ LoggerSeverity["DEBUG"] = "debug";
9
+ })(LoggerSeverity = exports.LoggerSeverity || (exports.LoggerSeverity = {}));
@@ -0,0 +1,4 @@
1
+ export { ILogger } from './ILogger';
2
+ export { LoggerBase } from './LoggerBase';
3
+ export { DefaultLogger } from './DefaultLogger';
4
+ export { LoggerSeverity } from './LoggerSeverity';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoggerSeverity = exports.DefaultLogger = exports.LoggerBase = void 0;
4
+ var LoggerBase_1 = require("./LoggerBase");
5
+ Object.defineProperty(exports, "LoggerBase", { enumerable: true, get: function () { return LoggerBase_1.LoggerBase; } });
6
+ var DefaultLogger_1 = require("./DefaultLogger");
7
+ Object.defineProperty(exports, "DefaultLogger", { enumerable: true, get: function () { return DefaultLogger_1.DefaultLogger; } });
8
+ var LoggerSeverity_1 = require("./LoggerSeverity");
9
+ Object.defineProperty(exports, "LoggerSeverity", { enumerable: true, get: function () { return LoggerSeverity_1.LoggerSeverity; } });
@@ -0,0 +1,14 @@
1
+ import { IDataEnrichment } from './IDataEnrichment';
2
+ import { IConfiguration } from '../config';
3
+ import { IContext } from '../context';
4
+ import { IBase64Utils, IHashUtils } from '../utils';
5
+ export declare class DefaultDataEnrichment implements IDataEnrichment {
6
+ private readonly config;
7
+ private readonly base64Utils;
8
+ private readonly hashUtils;
9
+ constructor(config: IConfiguration, base64Utils: IBase64Utils, hashUtils: IHashUtils);
10
+ handlePxde(context: IContext): Promise<void>;
11
+ private parsePxde;
12
+ private verifyPxdeHmac;
13
+ private parsePxdePayload;
14
+ }
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
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.DefaultDataEnrichment = void 0;
40
+ var utils_1 = require("../utils");
41
+ var constants_1 = require("./constants");
42
+ var DefaultDataEnrichment = /** @class */ (function () {
43
+ function DefaultDataEnrichment(config, base64Utils, hashUtils) {
44
+ this.config = config;
45
+ this.base64Utils = base64Utils;
46
+ this.hashUtils = hashUtils;
47
+ }
48
+ DefaultDataEnrichment.prototype.handlePxde = function (context) {
49
+ return __awaiter(this, void 0, void 0, function () {
50
+ var pxdeCookie, e_1;
51
+ return __generator(this, function (_a) {
52
+ switch (_a.label) {
53
+ case 0:
54
+ _a.trys.push([0, 3, , 4]);
55
+ pxdeCookie = context.requestData.cookies[utils_1.PXDE_COOKIE_NAME];
56
+ if (!pxdeCookie) return [3 /*break*/, 2];
57
+ return [4 /*yield*/, this.parsePxde(pxdeCookie, context)];
58
+ case 1:
59
+ _a.sent();
60
+ _a.label = 2;
61
+ case 2: return [3 /*break*/, 4];
62
+ case 3:
63
+ e_1 = _a.sent();
64
+ this.config.logger.debug("unable to parse pxde cookie - ".concat(e_1));
65
+ return [3 /*break*/, 4];
66
+ case 4: return [2 /*return*/];
67
+ }
68
+ });
69
+ });
70
+ };
71
+ DefaultDataEnrichment.prototype.parsePxde = function (pxdeCookie, context) {
72
+ return __awaiter(this, void 0, void 0, function () {
73
+ var pxdeParts, hmac, encodedPayload, _a, _b;
74
+ return __generator(this, function (_c) {
75
+ switch (_c.label) {
76
+ case 0:
77
+ pxdeParts = pxdeCookie.split(constants_1.PXDE_COOKIE_DELIMITER);
78
+ if (pxdeParts.length !== constants_1.PXDE_COOKIE_PARTS_COUNT) {
79
+ this.config.logger.debug("malformed pxde cookie: ".concat(pxdeCookie));
80
+ return [2 /*return*/];
81
+ }
82
+ hmac = pxdeParts[constants_1.PXDE_HMAC_INDEX];
83
+ encodedPayload = pxdeParts[constants_1.PXDE_PAYLOAD_INDEX];
84
+ if (!hmac || !encodedPayload) {
85
+ this.config.logger.debug("malformed pxde cookie: hmac: ".concat(hmac, ", payload: ").concat(encodedPayload));
86
+ return [2 /*return*/];
87
+ }
88
+ _a = context;
89
+ return [4 /*yield*/, this.verifyPxdeHmac(hmac, encodedPayload)];
90
+ case 1:
91
+ _a.pxdeVerified = _c.sent();
92
+ _b = context;
93
+ return [4 /*yield*/, this.parsePxdePayload(encodedPayload)];
94
+ case 2:
95
+ _b.pxde = _c.sent();
96
+ return [2 /*return*/];
97
+ }
98
+ });
99
+ });
100
+ };
101
+ DefaultDataEnrichment.prototype.verifyPxdeHmac = function (givenHmac, encodedPayload) {
102
+ return __awaiter(this, void 0, void 0, function () {
103
+ return __generator(this, function (_a) {
104
+ try {
105
+ return [2 /*return*/, givenHmac === this.hashUtils.createHmac(utils_1.Algorithm.SHA256, encodedPayload, this.config.cookieSecret)];
106
+ }
107
+ catch (e) {
108
+ this.config.logger.debug("failed verifying pxde hmac: ".concat(e));
109
+ return [2 /*return*/, false];
110
+ }
111
+ return [2 /*return*/];
112
+ });
113
+ });
114
+ };
115
+ DefaultDataEnrichment.prototype.parsePxdePayload = function (encodedPayload) {
116
+ return __awaiter(this, void 0, void 0, function () {
117
+ var decodedPayload;
118
+ return __generator(this, function (_a) {
119
+ try {
120
+ decodedPayload = this.base64Utils.base64Decode(encodedPayload);
121
+ return [2 /*return*/, JSON.parse(decodedPayload)];
122
+ }
123
+ catch (e) {
124
+ this.config.logger.debug("failed parsing pxde payload: ".concat(e));
125
+ return [2 /*return*/, null];
126
+ }
127
+ return [2 /*return*/];
128
+ });
129
+ });
130
+ };
131
+ return DefaultDataEnrichment;
132
+ }());
133
+ exports.DefaultDataEnrichment = DefaultDataEnrichment;
@@ -0,0 +1,9 @@
1
+ import { IContext } from '../context/IContext';
2
+ export interface IDataEnrichment {
3
+ /**
4
+ * If the PXDE cookie is present on the request, parses it and enriches the context with its contents.
5
+ * @param context - The request context.
6
+ * @returns Promise<void>
7
+ */
8
+ handlePxde(context: IContext): Promise<void>;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export declare const PXDE_HMAC_INDEX = 0;
2
+ export declare const PXDE_PAYLOAD_INDEX = 1;
3
+ export declare const PXDE_COOKIE_PARTS_COUNT = 2;
4
+ export declare const PXDE_COOKIE_DELIMITER = ":";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PXDE_COOKIE_DELIMITER = exports.PXDE_COOKIE_PARTS_COUNT = exports.PXDE_PAYLOAD_INDEX = exports.PXDE_HMAC_INDEX = void 0;
4
+ exports.PXDE_HMAC_INDEX = 0;
5
+ exports.PXDE_PAYLOAD_INDEX = 1;
6
+ exports.PXDE_COOKIE_PARTS_COUNT = 2;
7
+ exports.PXDE_COOKIE_DELIMITER = ':';
@@ -0,0 +1,4 @@
1
+ export * from './constants';
2
+ export { PXDE } from './model/PXDE';
3
+ export { IDataEnrichment } from './IDataEnrichment';
4
+ export { DefaultDataEnrichment } from './DefaultDataEnrichment';
@@ -0,0 +1,20 @@
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.DefaultDataEnrichment = void 0;
18
+ __exportStar(require("./constants"), exports);
19
+ var DefaultDataEnrichment_1 = require("./DefaultDataEnrichment");
20
+ Object.defineProperty(exports, "DefaultDataEnrichment", { enumerable: true, get: function () { return DefaultDataEnrichment_1.DefaultDataEnrichment; } });
@@ -0,0 +1,9 @@
1
+ export declare type PXDE = {
2
+ timestamp: number;
3
+ f_kb: number;
4
+ f_type?: string;
5
+ f_id?: string;
6
+ f_origin?: string;
7
+ ipc_id: string[];
8
+ breached_account?: number;
9
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { IHttpResponse } from '../http';
2
+ import { IContext } from '../context';
3
+ export declare namespace PXHDUtils {
4
+ const PXHD_SAMESITE_VALUE = "Lax";
5
+ const PXHD_PATH_VALUE = "/";
6
+ const addPxhdToResponse: (context: IContext, httpResponse: IHttpResponse) => IHttpResponse;
7
+ const getPxhdCookieValue: (pxhdValue: string) => string;
8
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PXHDUtils = void 0;
4
+ var http_1 = require("../http");
5
+ var utils_1 = require("../utils");
6
+ var PXHDUtils;
7
+ (function (PXHDUtils) {
8
+ PXHDUtils.PXHD_SAMESITE_VALUE = 'Lax';
9
+ PXHDUtils.PXHD_PATH_VALUE = '/';
10
+ PXHDUtils.addPxhdToResponse = function (context, httpResponse) {
11
+ if (context === null || context === void 0 ? void 0 : context.pxhd) {
12
+ var setPxhdCookie = PXHDUtils.getPxhdCookieValue(context.pxhd);
13
+ httpResponse.headers.append(http_1.SET_COOKIE_HEADER_NAME, setPxhdCookie);
14
+ }
15
+ return httpResponse;
16
+ };
17
+ PXHDUtils.getPxhdCookieValue = function (pxhdValue) {
18
+ return "".concat(utils_1.PXHD_COOKIE_NAME, "=").concat(pxhdValue, "; path=").concat(PXHDUtils.PXHD_PATH_VALUE, "; SameSite=").concat(PXHDUtils.PXHD_SAMESITE_VALUE);
19
+ };
20
+ })(PXHDUtils = exports.PXHDUtils || (exports.PXHDUtils = {}));
@@ -0,0 +1 @@
1
+ export { PXHDUtils } from './PXHDUtils';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PXHDUtils = void 0;
4
+ var PXHDUtils_1 = require("./PXHDUtils");
5
+ Object.defineProperty(exports, "PXHDUtils", { enumerable: true, get: function () { return PXHDUtils_1.PXHDUtils; } });
@@ -0,0 +1,27 @@
1
+ import { IContext } from '../context';
2
+ import { IConfiguration } from '../config';
3
+ import { IHttpClient } from '../http';
4
+ import { IScoreRetriever } from '../utils';
5
+ import { IRiskResponseHandler } from './risk_response_handler/IRiskResponseHandler';
6
+ import { RiskResponseV2 } from './model/RiskResponseV2';
7
+ import { RiskResponseV3 } from './model/RiskResponseV3';
8
+ export declare class PostRiskApiClient<RiskResponseType extends RiskResponseV2 | RiskResponseV3> implements IScoreRetriever {
9
+ private readonly config;
10
+ private readonly httpClient;
11
+ private readonly s2sErrorHandler;
12
+ private readonly riskResponseHandler;
13
+ constructor(config: IConfiguration, httpClient: IHttpClient, riskResponseHandler: IRiskResponseHandler<RiskResponseType>);
14
+ shouldRetrieveScore(context: IContext): boolean;
15
+ private unsetScoreFields;
16
+ retrieveScore(context: IContext): Promise<boolean>;
17
+ private createRiskActivity;
18
+ private addOptionalRiskFields;
19
+ private addOptionalRiskFieldsToRoot;
20
+ private addOptionalRiskFieldsToAdditional;
21
+ private addCustomParamsToAdditional;
22
+ private addCookieRiskFieldsToAdditional;
23
+ private formatRiskHeadersField;
24
+ private sendRiskActivity;
25
+ private getRiskUrl;
26
+ private getRiskHeaders;
27
+ }