@sectester/repeater 0.20.1 → 0.21.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.
- package/package.json +1 -1
- package/src/api/DefaultRepeatersManager.d.ts +2 -1
- package/src/api/DefaultRepeatersManager.js +5 -2
- package/src/api/DefaultRepeatersManager.js.map +1 -1
- package/src/api/RepeatersManager.d.ts +1 -0
- package/src/api/RepeatersManager.js.map +1 -1
- package/src/api/commands/CreateRepeaterRequest.d.ts +1 -0
- package/src/api/commands/CreateRepeaterRequest.js.map +1 -1
- package/src/lib/RepeaterFactory.d.ts +1 -1
- package/src/lib/RepeaterFactory.js +2 -1
- package/src/lib/RepeaterFactory.js.map +1 -1
- package/src/lib/RepeaterOptions.d.ts +1 -0
- package/src/request-runner/Request.d.ts +1 -0
- package/src/request-runner/Request.js +24 -2
- package/src/request-runner/Request.js.map +1 -1
package/package.json
CHANGED
|
@@ -3,9 +3,10 @@ import { CommandDispatcher } from '@sectester/core';
|
|
|
3
3
|
export declare class DefaultRepeatersManager implements RepeatersManager {
|
|
4
4
|
private readonly commandDispatcher;
|
|
5
5
|
constructor(commandDispatcher: CommandDispatcher);
|
|
6
|
-
createRepeater(
|
|
6
|
+
createRepeater({ projectId, ...options }: {
|
|
7
7
|
name: string;
|
|
8
8
|
description?: string;
|
|
9
|
+
projectId?: string;
|
|
9
10
|
}): Promise<{
|
|
10
11
|
repeaterId: string;
|
|
11
12
|
}>;
|
|
@@ -9,8 +9,11 @@ let DefaultRepeatersManager = class DefaultRepeatersManager {
|
|
|
9
9
|
constructor(commandDispatcher) {
|
|
10
10
|
this.commandDispatcher = commandDispatcher;
|
|
11
11
|
}
|
|
12
|
-
async createRepeater(
|
|
13
|
-
const repeater = await this.commandDispatcher.execute(new commands_1.CreateRepeaterRequest(
|
|
12
|
+
async createRepeater({ projectId, ...options }) {
|
|
13
|
+
const repeater = await this.commandDispatcher.execute(new commands_1.CreateRepeaterRequest({
|
|
14
|
+
...options,
|
|
15
|
+
...(projectId ? { projectIds: [projectId] } : {})
|
|
16
|
+
}));
|
|
14
17
|
if (!(repeater === null || repeater === void 0 ? void 0 : repeater.id)) {
|
|
15
18
|
throw new Error('Cannot find created repeater id');
|
|
16
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultRepeatersManager.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/api/DefaultRepeatersManager.ts"],"names":[],"mappings":";;;;AACA,yCAA0E;AAC1E,uCAA8C;AAC9C,0CAAoD;AAGpD,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAClC,YAEmB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEG,KAAK,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"DefaultRepeatersManager.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/api/DefaultRepeatersManager.ts"],"names":[],"mappings":";;;;AACA,yCAA0E;AAC1E,uCAA8C;AAC9C,0CAAoD;AAGpD,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAClC,YAEmB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEG,KAAK,CAAC,cAAc,CAAC,EAC1B,SAAS,EACT,GAAG,OAAO,EAKX;QACC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CACnD,IAAI,gCAAqB,CAAC;YACxB,GAAG,OAAO;YACV,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,CAAA,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,UAAkB;QAC5C,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CACnC,IAAI,gCAAqB,CAAC,EAAE,UAAU,EAAE,CAAC,CAC1C,CAAC;IACJ,CAAC;CACF,CAAA;AAjCY,uBAAuB;IADnC,IAAA,qBAAU,GAAE;IAGR,mBAAA,IAAA,iBAAM,EAAC,wBAAiB,CAAC,CAAA;;GAFjB,uBAAuB,CAiCnC;AAjCY,0DAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepeatersManager.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/api/RepeatersManager.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"RepeatersManager.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/api/RepeatersManager.ts"],"names":[],"mappings":";;;AAUa,QAAA,gBAAgB,GAAkB,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateRepeaterRequest.js","sourceRoot":"","sources":["../../../../../../packages/repeater/src/api/commands/CreateRepeaterRequest.ts"],"names":[],"mappings":";;;AAAA,wCAA6C;
|
|
1
|
+
{"version":3,"file":"CreateRepeaterRequest.js","sourceRoot":"","sources":["../../../../../../packages/repeater/src/api/commands/CreateRepeaterRequest.ts"],"names":[],"mappings":";;;AAAA,wCAA6C;AAY7C,MAAa,qBAAsB,SAAQ,iBAG1C;IACC,YAAY,OAAqC;QAC/C,KAAK,CAAC;YACJ,OAAO;YACP,GAAG,EAAE,mBAAmB;YACxB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;CACF;AAXD,sDAWC"}
|
|
@@ -11,7 +11,7 @@ export declare class RepeaterFactory {
|
|
|
11
11
|
private readonly repeatersManager;
|
|
12
12
|
private readonly eventBusFactory;
|
|
13
13
|
constructor(configuration: Configuration);
|
|
14
|
-
createRepeater({ namePrefix, description, requestRunnerOptions, requestRunners }?: RepeaterOptions): Promise<Repeater>;
|
|
14
|
+
createRepeater({ projectId, namePrefix, description, requestRunnerOptions, requestRunners }?: RepeaterOptions): Promise<Repeater>;
|
|
15
15
|
private registerRequestRunners;
|
|
16
16
|
private registerRequestRunnerOptions;
|
|
17
17
|
private registerRequestRunner;
|
|
@@ -42,7 +42,7 @@ let RepeaterFactory = class RepeaterFactory {
|
|
|
42
42
|
this.eventBusFactory =
|
|
43
43
|
this.container.resolve(bus_1.EventBusFactory);
|
|
44
44
|
}
|
|
45
|
-
async createRepeater({ namePrefix, description, requestRunnerOptions, requestRunners = [request_runner_1.HttpRequestRunner, request_runner_1.WsRequestRunner] } = {
|
|
45
|
+
async createRepeater({ projectId, namePrefix, description, requestRunnerOptions, requestRunners = [request_runner_1.HttpRequestRunner, request_runner_1.WsRequestRunner] } = {
|
|
46
46
|
namePrefix: 'sectester'
|
|
47
47
|
}) {
|
|
48
48
|
var _a;
|
|
@@ -52,6 +52,7 @@ let RepeaterFactory = class RepeaterFactory {
|
|
|
52
52
|
this.registerRequestRunners(requestRunners, requestRunnerOptions);
|
|
53
53
|
const { repeaterId } = await this.repeatersManager.createRepeater({
|
|
54
54
|
description,
|
|
55
|
+
projectId,
|
|
55
56
|
name: `${namePrefix}-${(0, uuid_1.v4)()}`
|
|
56
57
|
});
|
|
57
58
|
const bus = await this.eventBusFactory.create(repeaterId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepeaterFactory.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/lib/RepeaterFactory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RepeaterFactory.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/lib/RepeaterFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ class Request {
|
|
|
11
11
|
this.url = url;
|
|
12
12
|
this.correlationIdRegex =
|
|
13
13
|
this.normalizeCorrelationIdRegex(correlationIdRegex);
|
|
14
|
-
this.
|
|
14
|
+
this.setHeaders(headers);
|
|
15
15
|
this.precheckBody(body);
|
|
16
16
|
this.body = body;
|
|
17
17
|
}
|
|
@@ -25,10 +25,17 @@ class Request {
|
|
|
25
25
|
return this.url.startsWith('https');
|
|
26
26
|
}
|
|
27
27
|
setHeaders(headers) {
|
|
28
|
-
|
|
28
|
+
const mergedHeaders = {
|
|
29
29
|
...this._headers,
|
|
30
30
|
...headers
|
|
31
31
|
};
|
|
32
|
+
this._headers = Object.fromEntries(Object.entries(mergedHeaders).map(([field, value]) => [
|
|
33
|
+
field,
|
|
34
|
+
Array.isArray(value) &&
|
|
35
|
+
Request.SINGLE_VALUE_HEADERS.has(field.toLowerCase())
|
|
36
|
+
? value.join(', ')
|
|
37
|
+
: value
|
|
38
|
+
]));
|
|
32
39
|
}
|
|
33
40
|
validateUrl(url) {
|
|
34
41
|
try {
|
|
@@ -55,4 +62,19 @@ class Request {
|
|
|
55
62
|
}
|
|
56
63
|
}
|
|
57
64
|
exports.Request = Request;
|
|
65
|
+
Request.SINGLE_VALUE_HEADERS = new Set([
|
|
66
|
+
'authorization',
|
|
67
|
+
'content-disposition',
|
|
68
|
+
'content-length',
|
|
69
|
+
'content-type',
|
|
70
|
+
'from',
|
|
71
|
+
'host',
|
|
72
|
+
'if-modified-since',
|
|
73
|
+
'if-unmodified-since',
|
|
74
|
+
'location',
|
|
75
|
+
'max-forwards',
|
|
76
|
+
'proxy-authorization',
|
|
77
|
+
'referer',
|
|
78
|
+
'user-agent'
|
|
79
|
+
]);
|
|
58
80
|
//# sourceMappingURL=Request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/request-runner/Request.ts"],"names":[],"mappings":";;;AACA,6BAA0B;AAW1B,MAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/request-runner/Request.ts"],"names":[],"mappings":";;;AACA,6BAA0B;AAW1B,MAAa,OAAO;IAsClB,YAAY,EACV,QAAQ,EACR,MAAM,EACN,GAAG,EACH,IAAI,EACJ,kBAAkB,EAClB,OAAO,GAAG,EAAE,EACG;;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,EAAE,mCAAI,KAAK,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,kBAAkB;YACrB,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IA/BD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAID,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAqBM,UAAU,CAAC,OAA0C;QAC1D,MAAM,aAAa,GAAG;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,GAAG,OAAO;SACX,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAC/B,CAAC,CAAC,KAAK,EAAE,KAAK,CAA8B,EAAE,EAAE,CAAC;YAC/C,KAAK;YACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACnD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClB,CAAC,CAAC,KAAK;SACV,CACF,CACF,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,GAAW;QAC7B,IAAI;YACF,IAAI,SAAG,CAAC,GAAG,CAAC,CAAC;SACd;QAAC,MAAM;YACN,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;IACH,CAAC;IAEO,YAAY,CAAC,IAAwB;QAC3C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;IACH,CAAC;IAEO,2BAA2B,CACjC,kBAA+C;QAE/C,IAAI,kBAAkB,EAAE;YACtB,IAAI;gBACF,OAAO,IAAI,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;aAC5C;YAAC,MAAM;gBACN,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC/D;SACF;IACH,CAAC;;AApGH,0BAqGC;AApGwB,4BAAoB,GACzC,IAAI,GAAG,CAAS;IACd,eAAe;IACf,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,MAAM;IACN,MAAM;IACN,mBAAmB;IACnB,qBAAqB;IACrB,UAAU;IACV,cAAc;IACd,qBAAqB;IACrB,SAAS;IACT,YAAY;CACb,CAAC,CAAC"}
|