@ama-sdk/core 11.0.0-prerelease.3 → 11.0.0-prerelease.31
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.
- package/cjs/fwk/core/base-api-constructor.js +5 -1
- package/cjs/plugins/abort/abort.fetch.js +5 -1
- package/cjs/plugins/session-id/session-id.request.js +1 -0
- package/cjs/plugins/timeout/timeout.fetch.js +14 -3
- package/cjs/plugins/timeout/timeout.spec.js +114 -0
- package/cjs/utils/generators.js +25 -0
- package/cjs/utils/index.js +1 -0
- package/cli/clear-index.cjs +1 -0
- package/cli/files-pack.cjs +1 -0
- package/cli/update-spec-from-npm.cjs +13 -7
- package/esm2015/fwk/core/base-api-constructor.js +5 -1
- package/esm2015/plugins/abort/abort.fetch.js +5 -1
- package/esm2015/plugins/session-id/session-id.request.js +1 -0
- package/esm2015/plugins/timeout/timeout.fetch.js +14 -3
- package/esm2015/plugins/timeout/timeout.spec.js +115 -1
- package/esm2015/utils/generators.js +5 -0
- package/esm2015/utils/index.js +1 -0
- package/package.json +12 -14
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +1 -4
- package/src/plugins/session-id/session-id.request.d.ts +1 -1
- package/src/plugins/session-id/session-id.request.d.ts.map +1 -1
- package/src/plugins/session-id/session-id.request.js +1 -0
- package/src/plugins/session-id/session-id.request.js.map +1 -1
- package/src/plugins/timeout/timeout.fetch.d.ts.map +1 -1
- package/src/plugins/timeout/timeout.fetch.js +11 -3
- package/src/plugins/timeout/timeout.fetch.js.map +1 -1
- package/src/utils/generators.d.ts +7 -0
- package/src/utils/generators.d.ts.map +1 -0
- package/src/utils/generators.js +9 -0
- package/src/utils/generators.js.map +1 -0
- package/src/utils/index.d.ts +1 -0
- package/src/utils/index.d.ts.map +1 -1
- package/src/utils/index.js +1 -0
- package/src/utils/index.js.map +1 -1
|
@@ -8,6 +8,10 @@ Object.defineProperty(exports, "isConstructorObject", {
|
|
|
8
8
|
return isConstructorObject;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
function _type_of(obj) {
|
|
12
|
+
"@swc/helpers - typeof";
|
|
13
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
14
|
+
}
|
|
11
15
|
function isConstructorObject(args) {
|
|
12
|
-
return !!args && args.length === 1 && !!args[0] &&
|
|
16
|
+
return !!args && args.length === 1 && !!args[0] && _type_of(args[0]) === 'object';
|
|
13
17
|
}
|
|
@@ -40,8 +40,12 @@ function _define_property(obj, key, value) {
|
|
|
40
40
|
}
|
|
41
41
|
return obj;
|
|
42
42
|
}
|
|
43
|
+
function _type_of(obj) {
|
|
44
|
+
"@swc/helpers - typeof";
|
|
45
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
46
|
+
}
|
|
43
47
|
var isPromise = function(result) {
|
|
44
|
-
if (typeof result !== 'object') {
|
|
48
|
+
if ((typeof result === "undefined" ? "undefined" : _type_of(result)) !== 'object') {
|
|
45
49
|
return false;
|
|
46
50
|
}
|
|
47
51
|
return true;
|
|
@@ -59,6 +59,7 @@ var SessionIdRequest = /*#__PURE__*/ function() {
|
|
|
59
59
|
// Declaration done first since generateSessionId uses the logger
|
|
60
60
|
this.sessionIdHeader = sessionIdHeader;
|
|
61
61
|
this.requestIdActivated = activateRequestId;
|
|
62
|
+
this.sessionId = this.generateSessionId();
|
|
62
63
|
}
|
|
63
64
|
_create_class(SessionIdRequest, [
|
|
64
65
|
{
|
|
@@ -78,6 +78,10 @@ function _define_property(obj, key, value) {
|
|
|
78
78
|
}
|
|
79
79
|
return obj;
|
|
80
80
|
}
|
|
81
|
+
function _type_of(obj) {
|
|
82
|
+
"@swc/helpers - typeof";
|
|
83
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
84
|
+
}
|
|
81
85
|
function _ts_generator(thisArg, body) {
|
|
82
86
|
var f, y, t, g, _ = {
|
|
83
87
|
label: 0,
|
|
@@ -177,7 +181,7 @@ function _ts_generator(thisArg, body) {
|
|
|
177
181
|
* Check if a message can be cast as an {@link ImpervaCaptchaMessage}
|
|
178
182
|
* @param message
|
|
179
183
|
*/ function isImpervaCaptchaMessage(message) {
|
|
180
|
-
return Object.prototype.hasOwnProperty.call(message, 'impervaChallenge') && Object.prototype.hasOwnProperty.call(message.impervaChallenge, 'status') && Object.prototype.hasOwnProperty.call(message.impervaChallenge, 'type') && message.impervaChallenge.type === 'captcha';
|
|
184
|
+
return !!message && Object.prototype.hasOwnProperty.call(message, 'impervaChallenge') && Object.prototype.hasOwnProperty.call(message.impervaChallenge, 'status') && Object.prototype.hasOwnProperty.call(message.impervaChallenge, 'type') && message.impervaChallenge.type === 'captcha';
|
|
181
185
|
}
|
|
182
186
|
var impervaCaptchaEventHandlerFactory = function(config) {
|
|
183
187
|
return function(timeoutPauseCallback) {
|
|
@@ -186,8 +190,15 @@ var impervaCaptchaEventHandlerFactory = function(config) {
|
|
|
186
190
|
if (originHostname !== location.hostname && ((config === null || config === void 0 ? void 0 : config.whiteListedHostNames) || []).indexOf(originHostname) === -1) {
|
|
187
191
|
return;
|
|
188
192
|
}
|
|
189
|
-
var message =
|
|
190
|
-
if (
|
|
193
|
+
var message = event.data;
|
|
194
|
+
if (typeof event.data === 'string') {
|
|
195
|
+
try {
|
|
196
|
+
message = JSON.parse(event.data);
|
|
197
|
+
} catch (e) {
|
|
198
|
+
// This might not be an imperva message
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if ((typeof message === "undefined" ? "undefined" : _type_of(message)) === 'object' && isImpervaCaptchaMessage(message)) {
|
|
191
202
|
timeoutPauseCallback(message.impervaChallenge.status === 'started' ? 'timeoutStopped' : 'timeoutStarted');
|
|
192
203
|
}
|
|
193
204
|
};
|
|
@@ -33,6 +33,10 @@ function _async_to_generator(fn) {
|
|
|
33
33
|
});
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
+
function _type_of(obj) {
|
|
37
|
+
"@swc/helpers - typeof";
|
|
38
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
39
|
+
}
|
|
36
40
|
function _ts_generator(thisArg, body) {
|
|
37
41
|
var f, y, t, g, _ = {
|
|
38
42
|
label: 0,
|
|
@@ -128,6 +132,7 @@ function _ts_generator(thisArg, body) {
|
|
|
128
132
|
};
|
|
129
133
|
}
|
|
130
134
|
}
|
|
135
|
+
var _this = void 0;
|
|
131
136
|
describe('Timeout Fetch Plugin', function() {
|
|
132
137
|
it('should reject on timeout', /*#__PURE__*/ _async_to_generator(function() {
|
|
133
138
|
var plugin, runner, call, callback;
|
|
@@ -327,3 +332,112 @@ describe('Timeout Fetch Plugin', function() {
|
|
|
327
332
|
});
|
|
328
333
|
}));
|
|
329
334
|
});
|
|
335
|
+
describe('impervaCaptchaEventHandlerFactory', function() {
|
|
336
|
+
var postMessageTemp;
|
|
337
|
+
beforeAll(function() {
|
|
338
|
+
var _global, _global1;
|
|
339
|
+
(_global = global).location || (_global.location = {
|
|
340
|
+
hostname: 'test'
|
|
341
|
+
});
|
|
342
|
+
(_global1 = global).addEventListener || (_global1.addEventListener = jest.fn().mockImplementation(function(event, handler) {
|
|
343
|
+
if (event === 'message') {
|
|
344
|
+
postMessageTemp = function(msg, origin) {
|
|
345
|
+
var eventObject = {
|
|
346
|
+
origin: origin || 'https://test',
|
|
347
|
+
data: msg
|
|
348
|
+
};
|
|
349
|
+
if ((typeof handler === "undefined" ? "undefined" : _type_of(handler)) === 'object') {
|
|
350
|
+
handler.handleEvent(eventObject);
|
|
351
|
+
} else {
|
|
352
|
+
handler(eventObject);
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
}));
|
|
357
|
+
});
|
|
358
|
+
afterAll(function() {
|
|
359
|
+
jest.clearAllMocks();
|
|
360
|
+
});
|
|
361
|
+
it('should not throw on unexpected messages', function() {
|
|
362
|
+
var callback = jest.fn();
|
|
363
|
+
(0, _timeoutfetch.impervaCaptchaEventHandlerFactory)({
|
|
364
|
+
whiteListedHostNames: []
|
|
365
|
+
})(callback, _this);
|
|
366
|
+
postMessageTemp('pouet');
|
|
367
|
+
expect(callback).not.toHaveBeenCalled();
|
|
368
|
+
postMessageTemp(JSON.stringify({
|
|
369
|
+
impervaChallenge: {
|
|
370
|
+
type: 'incorrectType'
|
|
371
|
+
}
|
|
372
|
+
}));
|
|
373
|
+
expect(callback).not.toHaveBeenCalled();
|
|
374
|
+
postMessageTemp(JSON.stringify({
|
|
375
|
+
impervaChallenge: {
|
|
376
|
+
incorrectFormat: true
|
|
377
|
+
}
|
|
378
|
+
}));
|
|
379
|
+
expect(callback).not.toHaveBeenCalled();
|
|
380
|
+
});
|
|
381
|
+
it('should not throw on null messages', function() {
|
|
382
|
+
var callback = jest.fn();
|
|
383
|
+
(0, _timeoutfetch.impervaCaptchaEventHandlerFactory)({
|
|
384
|
+
whiteListedHostNames: []
|
|
385
|
+
})(callback, _this);
|
|
386
|
+
postMessageTemp(null);
|
|
387
|
+
expect(callback).not.toHaveBeenCalled();
|
|
388
|
+
});
|
|
389
|
+
it('should trigger a timeoutStopped if the captcha challenge has been started', function() {
|
|
390
|
+
var callback = jest.fn();
|
|
391
|
+
(0, _timeoutfetch.impervaCaptchaEventHandlerFactory)({
|
|
392
|
+
whiteListedHostNames: []
|
|
393
|
+
})(callback, _this);
|
|
394
|
+
postMessageTemp(JSON.stringify({
|
|
395
|
+
impervaChallenge: {
|
|
396
|
+
status: 'started',
|
|
397
|
+
type: 'captcha'
|
|
398
|
+
}
|
|
399
|
+
}));
|
|
400
|
+
expect(callback).toHaveBeenCalledWith('timeoutStopped');
|
|
401
|
+
});
|
|
402
|
+
it('should trigger a timeoutStarted if the captcha challenge has been finished', function() {
|
|
403
|
+
var callback = jest.fn();
|
|
404
|
+
(0, _timeoutfetch.impervaCaptchaEventHandlerFactory)({
|
|
405
|
+
whiteListedHostNames: []
|
|
406
|
+
})(callback, _this);
|
|
407
|
+
postMessageTemp({
|
|
408
|
+
impervaChallenge: {
|
|
409
|
+
status: 'ended',
|
|
410
|
+
type: 'captcha'
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
expect(callback).toHaveBeenCalledWith('timeoutStarted');
|
|
414
|
+
});
|
|
415
|
+
it('should trigger a timeoutStarted if the captcha challenge has been finished on a whitelisted domain', function() {
|
|
416
|
+
var callback = jest.fn();
|
|
417
|
+
(0, _timeoutfetch.impervaCaptchaEventHandlerFactory)({
|
|
418
|
+
whiteListedHostNames: [
|
|
419
|
+
'valid.domain'
|
|
420
|
+
]
|
|
421
|
+
})(callback, _this);
|
|
422
|
+
postMessageTemp(JSON.stringify({
|
|
423
|
+
impervaChallenge: {
|
|
424
|
+
status: 'ended',
|
|
425
|
+
type: 'captcha'
|
|
426
|
+
}
|
|
427
|
+
}), 'http://valid.domain');
|
|
428
|
+
expect(callback).toHaveBeenCalledWith('timeoutStarted');
|
|
429
|
+
});
|
|
430
|
+
it('should ignore postMessage from non whitelisted domain', function() {
|
|
431
|
+
var callback = jest.fn();
|
|
432
|
+
(0, _timeoutfetch.impervaCaptchaEventHandlerFactory)({
|
|
433
|
+
whiteListedHostNames: []
|
|
434
|
+
})(callback, _this);
|
|
435
|
+
postMessageTemp(JSON.stringify({
|
|
436
|
+
impervaChallenge: {
|
|
437
|
+
status: 'ended',
|
|
438
|
+
type: 'captcha'
|
|
439
|
+
}
|
|
440
|
+
}), 'http://invalid.domain');
|
|
441
|
+
expect(callback).not.toHaveBeenCalled();
|
|
442
|
+
});
|
|
443
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// TODO: Change to `openapi` in v11 (ref: #1745)
|
|
2
|
+
/** Name of the specification file copied locally (without extension) */ "use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
function _export(target, all) {
|
|
7
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
LOCAL_SPEC_FILENAME: function() {
|
|
14
|
+
return LOCAL_SPEC_FILENAME;
|
|
15
|
+
},
|
|
16
|
+
SPEC_JSON_EXTENSION: function() {
|
|
17
|
+
return SPEC_JSON_EXTENSION;
|
|
18
|
+
},
|
|
19
|
+
SPEC_YAML_EXTENSION: function() {
|
|
20
|
+
return SPEC_YAML_EXTENSION;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
var LOCAL_SPEC_FILENAME = 'swagger-spec';
|
|
24
|
+
var SPEC_YAML_EXTENSION = 'yaml';
|
|
25
|
+
var SPEC_JSON_EXTENSION = 'yaml';
|
package/cjs/utils/index.js
CHANGED
|
@@ -8,6 +8,7 @@ _export_star(require("./ie11"), exports);
|
|
|
8
8
|
_export_star(require("./json-token"), exports);
|
|
9
9
|
_export_star(require("./mime-types"), exports);
|
|
10
10
|
_export_star(require("./generic-api"), exports);
|
|
11
|
+
_export_star(require("./generators"), exports);
|
|
11
12
|
function _export_star(from, to) {
|
|
12
13
|
Object.keys(from).forEach(function(k) {
|
|
13
14
|
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
package/cli/clear-index.cjs
CHANGED
|
@@ -11,6 +11,7 @@ const argv = minimist(process.argv.slice(2));
|
|
|
11
11
|
const { help } = argv;
|
|
12
12
|
const baseDir = (0, node_path_1.resolve)(process.cwd(), 'src', 'models', 'base');
|
|
13
13
|
if (help) {
|
|
14
|
+
// eslint-disable-next-line no-console
|
|
14
15
|
console.log(`Remove the index files that are no longer necessary after the deletion of the associated model.
|
|
15
16
|
Usage: amasdk-clear-index
|
|
16
17
|
`);
|
package/cli/files-pack.cjs
CHANGED
|
@@ -14,6 +14,7 @@ const distFolder = argv.dist || 'dist';
|
|
|
14
14
|
const baseDir = argv.cwd && path.resolve(process.cwd(), argv.cwd) || process.cwd();
|
|
15
15
|
const { help, watch, noExports } = argv;
|
|
16
16
|
if (help) {
|
|
17
|
+
// eslint-disable-next-line no-console
|
|
17
18
|
console.log(`Prepare the dist folder for publication. This will copy necessary files from src and update the exports in package.json.
|
|
18
19
|
Usage: amasdk-files-pack [--exports] [--watch]
|
|
19
20
|
|
|
@@ -9,13 +9,16 @@ const node_fs_1 = require("node:fs");
|
|
|
9
9
|
const node_module_1 = require("node:module");
|
|
10
10
|
const node_path_1 = require("node:path");
|
|
11
11
|
const promises_1 = require("node:fs/promises");
|
|
12
|
+
const core_1 = require("@ama-sdk/core");
|
|
12
13
|
const argv = minimist(process.argv.slice(2));
|
|
13
14
|
const packageName = argv._[0];
|
|
14
15
|
const { help, output, 'package-path': packagePath, quiet } = argv;
|
|
15
16
|
const openApiConfigDefaultPath = './openapitools.json';
|
|
16
|
-
const supportedExtensions = ['json', 'yaml', 'yml'];
|
|
17
17
|
const noop = () => undefined;
|
|
18
18
|
const logger = quiet ? { error: noop, warn: noop, log: noop, info: noop, debug: noop } : console;
|
|
19
|
+
const SPEC_YML_EXTENSION = 'yml';
|
|
20
|
+
const DEFAULT_SPEC_EXPORT_PATH_IN_NPM_MODULE = 'openapi';
|
|
21
|
+
const supportedExtensions = [core_1.SPEC_JSON_EXTENSION, core_1.SPEC_YAML_EXTENSION, SPEC_YML_EXTENSION];
|
|
19
22
|
if (help) {
|
|
20
23
|
// eslint-disable-next-line no-console
|
|
21
24
|
console.log(`This script can be used to update your local spec file from a given locally installed npm package.
|
|
@@ -23,7 +26,7 @@ if (help) {
|
|
|
23
26
|
|
|
24
27
|
package-name The full identifier of the npm package (e.g. @my-scope/my-package)
|
|
25
28
|
--package-path The relative path inside the npm package where to find the spec file (default: './openapi.yml')
|
|
26
|
-
--output The path where the spec file should be copied (default: '
|
|
29
|
+
--output The path where the spec file should be copied (default: './${core_1.LOCAL_SPEC_FILENAME}.${core_1.SPEC_YAML_EXTENSION}')
|
|
27
30
|
--quiet Don't log anything
|
|
28
31
|
`);
|
|
29
32
|
process.exit(0);
|
|
@@ -34,14 +37,14 @@ if (!packageName) {
|
|
|
34
37
|
}
|
|
35
38
|
void (async () => {
|
|
36
39
|
let specSourcePath;
|
|
37
|
-
const appRequire = (0, node_module_1.createRequire)(
|
|
40
|
+
const appRequire = (0, node_module_1.createRequire)(node_path_1.posix.join(process.cwd(), 'package.json'));
|
|
38
41
|
const packageJsonPath = appRequire.resolve(`${packageName}/package.json`);
|
|
39
42
|
if (!packagePath) {
|
|
40
43
|
const packageJson = JSON.parse(await (0, promises_1.readFile)(packageJsonPath, { encoding: 'utf8' }));
|
|
41
|
-
const exportMatcher = new RegExp(
|
|
44
|
+
const exportMatcher = new RegExp(`^\\./${DEFAULT_SPEC_EXPORT_PATH_IN_NPM_MODULE}\\.(?:${supportedExtensions.join('|')})$`);
|
|
42
45
|
const matchingExport = packageJson.exports && Object.keys(packageJson.exports).find((exportPath) => exportMatcher.test(exportPath));
|
|
43
46
|
if (matchingExport) {
|
|
44
|
-
specSourcePath = appRequire.resolve(
|
|
47
|
+
specSourcePath = appRequire.resolve(node_path_1.posix.join(packageName, matchingExport));
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
50
|
else {
|
|
@@ -53,8 +56,11 @@ void (async () => {
|
|
|
53
56
|
}
|
|
54
57
|
let specDestinationPath = output;
|
|
55
58
|
if (!specDestinationPath) {
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
let specSourceExtension = (0, node_path_1.extname)(specSourcePath);
|
|
60
|
+
if (specSourceExtension === `.${SPEC_YML_EXTENSION}`) {
|
|
61
|
+
specSourceExtension = `.${core_1.SPEC_YAML_EXTENSION}`;
|
|
62
|
+
}
|
|
63
|
+
specDestinationPath = `./${core_1.LOCAL_SPEC_FILENAME}${specSourceExtension}`;
|
|
58
64
|
if ((0, node_fs_1.existsSync)(openApiConfigDefaultPath)) {
|
|
59
65
|
const openApiConfig = JSON.parse(await (0, promises_1.readFile)(openApiConfigDefaultPath, { encoding: 'utf8' }));
|
|
60
66
|
const generators = Object.values(openApiConfig['generator-cli']?.generators ?? {});
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
function _type_of(obj) {
|
|
2
|
+
"@swc/helpers - typeof";
|
|
3
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
4
|
+
}
|
|
1
5
|
/**
|
|
2
6
|
* Determine if object passed to the constructor is valid
|
|
3
7
|
* @param args
|
|
4
8
|
*/ export function isConstructorObject(args) {
|
|
5
|
-
return !!args && args.length === 1 && !!args[0] &&
|
|
9
|
+
return !!args && args.length === 1 && !!args[0] && _type_of(args[0]) === 'object';
|
|
6
10
|
}
|
|
@@ -30,8 +30,12 @@ function _define_property(obj, key, value) {
|
|
|
30
30
|
}
|
|
31
31
|
return obj;
|
|
32
32
|
}
|
|
33
|
+
function _type_of(obj) {
|
|
34
|
+
"@swc/helpers - typeof";
|
|
35
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
36
|
+
}
|
|
33
37
|
var isPromise = function(result) {
|
|
34
|
-
if (typeof result !== 'object') {
|
|
38
|
+
if ((typeof result === "undefined" ? "undefined" : _type_of(result)) !== 'object') {
|
|
35
39
|
return false;
|
|
36
40
|
}
|
|
37
41
|
return true;
|
|
@@ -58,6 +58,7 @@ import { v4 } from 'uuid';
|
|
|
58
58
|
// Declaration done first since generateSessionId uses the logger
|
|
59
59
|
this.sessionIdHeader = sessionIdHeader;
|
|
60
60
|
this.requestIdActivated = activateRequestId;
|
|
61
|
+
this.sessionId = this.generateSessionId();
|
|
61
62
|
}
|
|
62
63
|
_create_class(SessionIdRequest, [
|
|
63
64
|
{
|
|
@@ -59,6 +59,10 @@ function _define_property(obj, key, value) {
|
|
|
59
59
|
}
|
|
60
60
|
return obj;
|
|
61
61
|
}
|
|
62
|
+
function _type_of(obj) {
|
|
63
|
+
"@swc/helpers - typeof";
|
|
64
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
65
|
+
}
|
|
62
66
|
function _ts_generator(thisArg, body) {
|
|
63
67
|
var f, y, t, g, _ = {
|
|
64
68
|
label: 0,
|
|
@@ -159,7 +163,7 @@ import { ResponseTimeoutError } from '../../fwk/errors';
|
|
|
159
163
|
* Check if a message can be cast as an {@link ImpervaCaptchaMessage}
|
|
160
164
|
* @param message
|
|
161
165
|
*/ function isImpervaCaptchaMessage(message) {
|
|
162
|
-
return Object.prototype.hasOwnProperty.call(message, 'impervaChallenge') && Object.prototype.hasOwnProperty.call(message.impervaChallenge, 'status') && Object.prototype.hasOwnProperty.call(message.impervaChallenge, 'type') && message.impervaChallenge.type === 'captcha';
|
|
166
|
+
return !!message && Object.prototype.hasOwnProperty.call(message, 'impervaChallenge') && Object.prototype.hasOwnProperty.call(message.impervaChallenge, 'status') && Object.prototype.hasOwnProperty.call(message.impervaChallenge, 'type') && message.impervaChallenge.type === 'captcha';
|
|
163
167
|
}
|
|
164
168
|
/**
|
|
165
169
|
* Captures Imperva captcha events and calls the event callback
|
|
@@ -174,8 +178,15 @@ import { ResponseTimeoutError } from '../../fwk/errors';
|
|
|
174
178
|
if (originHostname !== location.hostname && ((config === null || config === void 0 ? void 0 : config.whiteListedHostNames) || []).indexOf(originHostname) === -1) {
|
|
175
179
|
return;
|
|
176
180
|
}
|
|
177
|
-
var message =
|
|
178
|
-
if (
|
|
181
|
+
var message = event.data;
|
|
182
|
+
if (typeof event.data === 'string') {
|
|
183
|
+
try {
|
|
184
|
+
message = JSON.parse(event.data);
|
|
185
|
+
} catch (e) {
|
|
186
|
+
// This might not be an imperva message
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
if ((typeof message === "undefined" ? "undefined" : _type_of(message)) === 'object' && isImpervaCaptchaMessage(message)) {
|
|
179
190
|
timeoutPauseCallback(message.impervaChallenge.status === 'started' ? 'timeoutStopped' : 'timeoutStarted');
|
|
180
191
|
}
|
|
181
192
|
};
|
|
@@ -27,6 +27,10 @@ function _async_to_generator(fn) {
|
|
|
27
27
|
});
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
+
function _type_of(obj) {
|
|
31
|
+
"@swc/helpers - typeof";
|
|
32
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
33
|
+
}
|
|
30
34
|
function _ts_generator(thisArg, body) {
|
|
31
35
|
var f, y, t, g, _ = {
|
|
32
36
|
label: 0,
|
|
@@ -122,8 +126,9 @@ function _ts_generator(thisArg, body) {
|
|
|
122
126
|
};
|
|
123
127
|
}
|
|
124
128
|
}
|
|
129
|
+
var _this = this;
|
|
125
130
|
import { EmptyResponseError, ResponseTimeoutError } from '../../fwk/errors';
|
|
126
|
-
import { TimeoutFetch } from './timeout.fetch';
|
|
131
|
+
import { impervaCaptchaEventHandlerFactory, TimeoutFetch } from './timeout.fetch';
|
|
127
132
|
describe('Timeout Fetch Plugin', function() {
|
|
128
133
|
it('should reject on timeout', /*#__PURE__*/ _async_to_generator(function() {
|
|
129
134
|
var plugin, runner, call, callback;
|
|
@@ -323,3 +328,112 @@ describe('Timeout Fetch Plugin', function() {
|
|
|
323
328
|
});
|
|
324
329
|
}));
|
|
325
330
|
});
|
|
331
|
+
describe('impervaCaptchaEventHandlerFactory', function() {
|
|
332
|
+
var postMessageTemp;
|
|
333
|
+
beforeAll(function() {
|
|
334
|
+
var _global, _global1;
|
|
335
|
+
(_global = global).location || (_global.location = {
|
|
336
|
+
hostname: 'test'
|
|
337
|
+
});
|
|
338
|
+
(_global1 = global).addEventListener || (_global1.addEventListener = jest.fn().mockImplementation(function(event, handler) {
|
|
339
|
+
if (event === 'message') {
|
|
340
|
+
postMessageTemp = function(msg, origin) {
|
|
341
|
+
var eventObject = {
|
|
342
|
+
origin: origin || 'https://test',
|
|
343
|
+
data: msg
|
|
344
|
+
};
|
|
345
|
+
if ((typeof handler === "undefined" ? "undefined" : _type_of(handler)) === 'object') {
|
|
346
|
+
handler.handleEvent(eventObject);
|
|
347
|
+
} else {
|
|
348
|
+
handler(eventObject);
|
|
349
|
+
}
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
}));
|
|
353
|
+
});
|
|
354
|
+
afterAll(function() {
|
|
355
|
+
jest.clearAllMocks();
|
|
356
|
+
});
|
|
357
|
+
it('should not throw on unexpected messages', function() {
|
|
358
|
+
var callback = jest.fn();
|
|
359
|
+
impervaCaptchaEventHandlerFactory({
|
|
360
|
+
whiteListedHostNames: []
|
|
361
|
+
})(callback, _this);
|
|
362
|
+
postMessageTemp('pouet');
|
|
363
|
+
expect(callback).not.toHaveBeenCalled();
|
|
364
|
+
postMessageTemp(JSON.stringify({
|
|
365
|
+
impervaChallenge: {
|
|
366
|
+
type: 'incorrectType'
|
|
367
|
+
}
|
|
368
|
+
}));
|
|
369
|
+
expect(callback).not.toHaveBeenCalled();
|
|
370
|
+
postMessageTemp(JSON.stringify({
|
|
371
|
+
impervaChallenge: {
|
|
372
|
+
incorrectFormat: true
|
|
373
|
+
}
|
|
374
|
+
}));
|
|
375
|
+
expect(callback).not.toHaveBeenCalled();
|
|
376
|
+
});
|
|
377
|
+
it('should not throw on null messages', function() {
|
|
378
|
+
var callback = jest.fn();
|
|
379
|
+
impervaCaptchaEventHandlerFactory({
|
|
380
|
+
whiteListedHostNames: []
|
|
381
|
+
})(callback, _this);
|
|
382
|
+
postMessageTemp(null);
|
|
383
|
+
expect(callback).not.toHaveBeenCalled();
|
|
384
|
+
});
|
|
385
|
+
it('should trigger a timeoutStopped if the captcha challenge has been started', function() {
|
|
386
|
+
var callback = jest.fn();
|
|
387
|
+
impervaCaptchaEventHandlerFactory({
|
|
388
|
+
whiteListedHostNames: []
|
|
389
|
+
})(callback, _this);
|
|
390
|
+
postMessageTemp(JSON.stringify({
|
|
391
|
+
impervaChallenge: {
|
|
392
|
+
status: 'started',
|
|
393
|
+
type: 'captcha'
|
|
394
|
+
}
|
|
395
|
+
}));
|
|
396
|
+
expect(callback).toHaveBeenCalledWith('timeoutStopped');
|
|
397
|
+
});
|
|
398
|
+
it('should trigger a timeoutStarted if the captcha challenge has been finished', function() {
|
|
399
|
+
var callback = jest.fn();
|
|
400
|
+
impervaCaptchaEventHandlerFactory({
|
|
401
|
+
whiteListedHostNames: []
|
|
402
|
+
})(callback, _this);
|
|
403
|
+
postMessageTemp({
|
|
404
|
+
impervaChallenge: {
|
|
405
|
+
status: 'ended',
|
|
406
|
+
type: 'captcha'
|
|
407
|
+
}
|
|
408
|
+
});
|
|
409
|
+
expect(callback).toHaveBeenCalledWith('timeoutStarted');
|
|
410
|
+
});
|
|
411
|
+
it('should trigger a timeoutStarted if the captcha challenge has been finished on a whitelisted domain', function() {
|
|
412
|
+
var callback = jest.fn();
|
|
413
|
+
impervaCaptchaEventHandlerFactory({
|
|
414
|
+
whiteListedHostNames: [
|
|
415
|
+
'valid.domain'
|
|
416
|
+
]
|
|
417
|
+
})(callback, _this);
|
|
418
|
+
postMessageTemp(JSON.stringify({
|
|
419
|
+
impervaChallenge: {
|
|
420
|
+
status: 'ended',
|
|
421
|
+
type: 'captcha'
|
|
422
|
+
}
|
|
423
|
+
}), 'http://valid.domain');
|
|
424
|
+
expect(callback).toHaveBeenCalledWith('timeoutStarted');
|
|
425
|
+
});
|
|
426
|
+
it('should ignore postMessage from non whitelisted domain', function() {
|
|
427
|
+
var callback = jest.fn();
|
|
428
|
+
impervaCaptchaEventHandlerFactory({
|
|
429
|
+
whiteListedHostNames: []
|
|
430
|
+
})(callback, _this);
|
|
431
|
+
postMessageTemp(JSON.stringify({
|
|
432
|
+
impervaChallenge: {
|
|
433
|
+
status: 'ended',
|
|
434
|
+
type: 'captcha'
|
|
435
|
+
}
|
|
436
|
+
}), 'http://invalid.domain');
|
|
437
|
+
expect(callback).not.toHaveBeenCalled();
|
|
438
|
+
});
|
|
439
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// TODO: Change to `openapi` in v11 (ref: #1745)
|
|
2
|
+
/** Name of the specification file copied locally (without extension) */ export var LOCAL_SPEC_FILENAME = 'swagger-spec';
|
|
3
|
+
/** Extension of the Specification file in YAML format */ export var SPEC_YAML_EXTENSION = 'yaml';
|
|
4
|
+
// TODO: Change to `json` in v11 (ref: #1745)
|
|
5
|
+
/** Extension of the Specification file in JSON format */ export var SPEC_JSON_EXTENSION = 'yaml';
|
package/esm2015/utils/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ama-sdk/core",
|
|
3
|
-
"version": "11.0.0-prerelease.
|
|
3
|
+
"version": "11.0.0-prerelease.31",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -72,7 +72,9 @@
|
|
|
72
72
|
"prepare:publish": "prepare-publish ./dist"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@swc/helpers": "
|
|
75
|
+
"@swc/helpers": "~0.5.0",
|
|
76
|
+
"chokidar": "^3.5.2",
|
|
77
|
+
"minimist": "^1.2.6",
|
|
76
78
|
"tslib": "^2.6.2",
|
|
77
79
|
"uuid": "^9.0.0"
|
|
78
80
|
},
|
|
@@ -80,12 +82,10 @@
|
|
|
80
82
|
"@angular-devkit/schematics": "~17.3.0",
|
|
81
83
|
"@angular/cli": "~17.3.0",
|
|
82
84
|
"@angular/common": "~17.3.0",
|
|
83
|
-
"@o3r/schematics": "^11.0.0-prerelease.
|
|
85
|
+
"@o3r/schematics": "^11.0.0-prerelease.31",
|
|
84
86
|
"@schematics/angular": "~17.3.0",
|
|
85
|
-
"chokidar": "^3.5.2",
|
|
86
87
|
"globby": "^11.1.0",
|
|
87
88
|
"isomorphic-fetch": "^3.0.0",
|
|
88
|
-
"minimist": "^1.2.6",
|
|
89
89
|
"rxjs": "^7.8.1",
|
|
90
90
|
"typescript": "~5.4.2"
|
|
91
91
|
},
|
|
@@ -105,9 +105,6 @@
|
|
|
105
105
|
"@schematics/angular": {
|
|
106
106
|
"optional": true
|
|
107
107
|
},
|
|
108
|
-
"chokidar": {
|
|
109
|
-
"optional": true
|
|
110
|
-
},
|
|
111
108
|
"isomorphic-fetch": {
|
|
112
109
|
"optional": true
|
|
113
110
|
},
|
|
@@ -126,20 +123,19 @@
|
|
|
126
123
|
"@angular/core": "~17.3.0",
|
|
127
124
|
"@nx/eslint-plugin": "~18.3.0",
|
|
128
125
|
"@nx/jest": "~18.3.0",
|
|
129
|
-
"@o3r/build-helpers": "^11.0.0-prerelease.
|
|
130
|
-
"@o3r/eslint-plugin": "^11.0.0-prerelease.
|
|
131
|
-
"@o3r/test-helpers": "^11.0.0-prerelease.
|
|
126
|
+
"@o3r/build-helpers": "^11.0.0-prerelease.31",
|
|
127
|
+
"@o3r/eslint-plugin": "^11.0.0-prerelease.31",
|
|
128
|
+
"@o3r/test-helpers": "^11.0.0-prerelease.31",
|
|
132
129
|
"@schematics/angular": "~17.3.0",
|
|
133
130
|
"@stylistic/eslint-plugin-ts": "^1.5.4",
|
|
134
|
-
"@swc/cli": "
|
|
135
|
-
"@swc/core": "1.5.
|
|
131
|
+
"@swc/cli": "~0.3.0",
|
|
132
|
+
"@swc/core": "~1.5.24",
|
|
136
133
|
"@types/jest": "~29.5.2",
|
|
137
134
|
"@types/minimist": "^1.2.2",
|
|
138
135
|
"@types/node": "^20.0.0",
|
|
139
136
|
"@types/uuid": "^9.0.0",
|
|
140
137
|
"@typescript-eslint/eslint-plugin": "^7.2.0",
|
|
141
138
|
"@typescript-eslint/parser": "^7.2.0",
|
|
142
|
-
"chokidar": "^3.5.2",
|
|
143
139
|
"copyfiles": "^2.4.1",
|
|
144
140
|
"cpy-cli": "^5.0.0",
|
|
145
141
|
"eslint": "^8.57.0",
|
|
@@ -154,8 +150,10 @@
|
|
|
154
150
|
"jest-junit": "~16.0.0",
|
|
155
151
|
"jsonc-eslint-parser": "~2.4.0",
|
|
156
152
|
"minimist": "^1.2.6",
|
|
153
|
+
"pid-from-port": "^1.1.3",
|
|
157
154
|
"rimraf": "^5.0.1",
|
|
158
155
|
"rxjs": "^7.8.1",
|
|
156
|
+
"semver": "^7.5.2",
|
|
159
157
|
"ts-jest": "~29.1.2",
|
|
160
158
|
"ts-node": "~10.9.2",
|
|
161
159
|
"type-fest": "^4.10.2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAI9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAI9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAuEtD;;;;GAIG;AACH,eAAO,MAAM,KAAK,YAAa,qBAAqB,KAAG,IAGtD,CAAC"}
|
|
@@ -43,10 +43,7 @@ function ngAddFn(options) {
|
|
|
43
43
|
const addMandatoryPeerDeps = async (tree, context) => {
|
|
44
44
|
const { getPeerDepWithPattern, getWorkspaceConfig } = await Promise.resolve().then(() => require('@o3r/schematics'));
|
|
45
45
|
const workingDirectory = options?.projectName && getWorkspaceConfig(tree)?.projects[options.projectName]?.root || '.';
|
|
46
|
-
const peerDepToInstall = getPeerDepWithPattern(path.resolve(__dirname, '..', '..', 'package.json')
|
|
47
|
-
'chokidar',
|
|
48
|
-
'minimist'
|
|
49
|
-
]);
|
|
46
|
+
const peerDepToInstall = getPeerDepWithPattern(path.resolve(__dirname, '..', '..', 'package.json'));
|
|
50
47
|
context.addTask(new tasks_1.NodePackageInstallTask({
|
|
51
48
|
workingDirectory,
|
|
52
49
|
packageName: Object.entries(peerDepToInstall.matchingPackagesVersions)
|
|
@@ -41,7 +41,7 @@ export declare class SessionIdRequest implements RequestPlugin {
|
|
|
41
41
|
* Generates a session ID and stores it in session / backup storage.
|
|
42
42
|
* @param logger
|
|
43
43
|
*/
|
|
44
|
-
generateSessionId(logger?: Logger):
|
|
44
|
+
generateSessionId(logger?: Logger): string;
|
|
45
45
|
/**
|
|
46
46
|
* Generates a request ID.
|
|
47
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-id.request.d.ts","sourceRoot":"","sources":["../../../../src/plugins/session-id/session-id.request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;;GASG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IAEpD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAA4B;IAEhE;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C;;OAEG;IACI,SAAS,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;gBACS,eAAe,SAAmB,EAAE,iBAAiB,UAAO;
|
|
1
|
+
{"version":3,"file":"session-id.request.d.ts","sourceRoot":"","sources":["../../../../src/plugins/session-id/session-id.request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;;GASG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IAEpD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAA4B;IAEhE;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C;;OAEG;IACI,SAAS,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;gBACS,eAAe,SAAmB,EAAE,iBAAiB,UAAO;IAOxE,OAAO,CAAC,YAAY;IAKpB,kBAAkB;IACX,IAAI,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,YAAY,CAAC,cAAc,EAAE,cAAc,CAAC;IAUzF;;;OAGG;IACI,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM;IAmCxC;;OAEG;IACI,iBAAiB;CAsBzB"}
|
|
@@ -19,6 +19,7 @@ export class SessionIdRequest {
|
|
|
19
19
|
// Declaration done first since generateSessionId uses the logger
|
|
20
20
|
this.sessionIdHeader = sessionIdHeader;
|
|
21
21
|
this.requestIdActivated = activateRequestId;
|
|
22
|
+
this.sessionId = this.generateSessionId();
|
|
22
23
|
}
|
|
23
24
|
logSessionId(sessionId, date, logger) {
|
|
24
25
|
(logger?.info || logger?.log || console.info).bind(logger || console)(`Your debug ID associated to the header "${this.sessionIdHeader}" is: ${sessionId}.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-id.request.js","sourceRoot":"","sources":["../../../../src/plugins/session-id/session-id.request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAI1B;;;;;;;;;GASG;AACH,MAAM,OAAO,gBAAgB;IAuB3B;;;;OAIG;IACH,YAAY,eAAe,GAAG,gBAAgB,EAAE,iBAAiB,GAAG,IAAI;QACtE,iEAAiE;QACjE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-id.request.js","sourceRoot":"","sources":["../../../../src/plugins/session-id/session-id.request.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout.fetch.d.ts","sourceRoot":"","sources":["../../../../src/plugins/timeout/timeout.fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAcnE;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAYhE;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,oBAAoB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC;AACpI;;GAEG;AACH,MAAM,MAAM,+BAA+B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,wBAAwB,CAAC;AAEnG;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,EAAE,+BAA+B,CAAC;IAAE,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"timeout.fetch.d.ts","sourceRoot":"","sources":["../../../../src/plugins/timeout/timeout.fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAcnE;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAYhE;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,oBAAoB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC;AACpI;;GAEG;AACH,MAAM,MAAM,+BAA+B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,wBAAwB,CAAC;AAEnG;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,EAAE,+BAA+B,CAAC;IAAE,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAAE,CAuB/G,CAAC;AAEJ;;GAEG;AACH,qBAAa,YAAa,YAAW,WAAW;IAYjB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAVhE,qCAAqC;IAC9B,OAAO,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,iBAAiB,CAAgD;IACzE,OAAO,CAAC,eAAe,CAAmC;IAE1D;;;;OAIG;gBACS,OAAO,SAAQ,EAAmB,iBAAiB,CAAC,sCAA0B;IAUnF,IAAI,CAAC,OAAO,EAAE,kBAAkB;;;CAuCxC"}
|
|
@@ -4,7 +4,7 @@ import { ResponseTimeoutError } from '../../fwk/errors';
|
|
|
4
4
|
* @param message
|
|
5
5
|
*/
|
|
6
6
|
function isImpervaCaptchaMessage(message) {
|
|
7
|
-
return Object.prototype.hasOwnProperty.call(message, 'impervaChallenge') &&
|
|
7
|
+
return !!message && Object.prototype.hasOwnProperty.call(message, 'impervaChallenge') &&
|
|
8
8
|
Object.prototype.hasOwnProperty.call(message.impervaChallenge, 'status') &&
|
|
9
9
|
Object.prototype.hasOwnProperty.call(message.impervaChallenge, 'type') && message.impervaChallenge.type === 'captcha';
|
|
10
10
|
}
|
|
@@ -21,8 +21,16 @@ export const impervaCaptchaEventHandlerFactory = (config) => (timeoutPauseCallba
|
|
|
21
21
|
if (originHostname !== location.hostname && (config?.whiteListedHostNames || []).indexOf(originHostname) === -1) {
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
if (
|
|
24
|
+
let message = event.data;
|
|
25
|
+
if (typeof event.data === 'string') {
|
|
26
|
+
try {
|
|
27
|
+
message = JSON.parse(event.data);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// This might not be an imperva message
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (typeof message === 'object' && isImpervaCaptchaMessage(message)) {
|
|
26
34
|
timeoutPauseCallback(message.impervaChallenge.status === 'started' ? 'timeoutStopped' : 'timeoutStarted');
|
|
27
35
|
}
|
|
28
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout.fetch.js","sourceRoot":"","sources":["../../../../src/plugins/timeout/timeout.fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAuBtD;;;GAGG;AACH,SAAS,uBAAuB,CAAC,OAAY;IAC3C,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"timeout.fetch.js","sourceRoot":"","sources":["../../../../src/plugins/timeout/timeout.fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Name of the specification file copied locally (without extension) */
|
|
2
|
+
export declare const LOCAL_SPEC_FILENAME = "swagger-spec";
|
|
3
|
+
/** Extension of the Specification file in YAML format */
|
|
4
|
+
export declare const SPEC_YAML_EXTENSION = "yaml";
|
|
5
|
+
/** Extension of the Specification file in JSON format */
|
|
6
|
+
export declare const SPEC_JSON_EXTENSION = "yaml";
|
|
7
|
+
//# sourceMappingURL=generators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generators.d.ts","sourceRoot":"","sources":["../../../src/utils/generators.ts"],"names":[],"mappings":"AACA,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAG1C,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// TODO: Change to `openapi` in v11 (ref: #1745)
|
|
2
|
+
/** Name of the specification file copied locally (without extension) */
|
|
3
|
+
export const LOCAL_SPEC_FILENAME = 'swagger-spec';
|
|
4
|
+
/** Extension of the Specification file in YAML format */
|
|
5
|
+
export const SPEC_YAML_EXTENSION = 'yaml';
|
|
6
|
+
// TODO: Change to `json` in v11 (ref: #1745)
|
|
7
|
+
/** Extension of the Specification file in JSON format */
|
|
8
|
+
export const SPEC_JSON_EXTENSION = 'yaml';
|
|
9
|
+
//# sourceMappingURL=generators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../src/utils/generators.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,wEAAwE;AACxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAElD,yDAAyD;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C,6CAA6C;AAC7C,yDAAyD;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC"}
|
package/src/utils/index.d.ts
CHANGED
package/src/utils/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
package/src/utils/index.js
CHANGED
package/src/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|