@sectester/repeater 0.18.1 → 0.19.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sectester/repeater",
3
- "version": "0.18.1",
3
+ "version": "0.19.0",
4
4
  "description": "Package for managing repeaters, which are mandatory for scanning targets on a local network.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,6 +11,8 @@ export declare class RepeaterFactory {
11
11
  private readonly repeatersManager;
12
12
  private readonly eventBusFactory;
13
13
  constructor(configuration: Configuration);
14
- createRepeater({ namePrefix, description, requestRunnerOptions }?: RepeaterOptions): Promise<Repeater>;
14
+ createRepeater({ namePrefix, description, requestRunnerOptions, requestRunners }?: RepeaterOptions): Promise<Repeater>;
15
+ private registerRequestRunners;
15
16
  private registerRequestRunnerOptions;
17
+ private registerRequestRunner;
16
18
  }
@@ -42,14 +42,14 @@ let RepeaterFactory = class RepeaterFactory {
42
42
  this.eventBusFactory =
43
43
  this.container.resolve(bus_1.EventBusFactory);
44
44
  }
45
- async createRepeater({ namePrefix, description, requestRunnerOptions } = {
45
+ async createRepeater({ namePrefix, description, requestRunnerOptions, requestRunners = [request_runner_1.HttpRequestRunner, request_runner_1.WsRequestRunner] } = {
46
46
  namePrefix: `sectester`
47
47
  }) {
48
48
  var _a;
49
49
  if (namePrefix && namePrefix.length > 44) {
50
50
  throw new Error('Name prefix must be less than 44 characters.');
51
51
  }
52
- this.registerRequestRunnerOptions(requestRunnerOptions);
52
+ this.registerRequestRunners(requestRunners, requestRunnerOptions);
53
53
  const { repeaterId } = await this.repeatersManager.createRepeater({
54
54
  name: `${namePrefix}-${(0, uuid_1.v4)()}`,
55
55
  description
@@ -62,6 +62,10 @@ let RepeaterFactory = class RepeaterFactory {
62
62
  configuration: this.configuration
63
63
  });
64
64
  }
65
+ registerRequestRunners(requestRunners, requestRunnerOptions) {
66
+ this.registerRequestRunnerOptions(requestRunnerOptions);
67
+ requestRunners === null || requestRunners === void 0 ? void 0 : requestRunners.forEach(runner => this.registerRequestRunner(runner));
68
+ }
65
69
  registerRequestRunnerOptions(options) {
66
70
  this.container.register(request_runner_1.RequestRunnerOptions, {
67
71
  useValue: {
@@ -70,6 +74,18 @@ let RepeaterFactory = class RepeaterFactory {
70
74
  }
71
75
  });
72
76
  }
77
+ registerRequestRunner(runner) {
78
+ if (typeof runner === 'function') {
79
+ this.container.register(request_runner_1.RequestRunner, {
80
+ useClass: runner
81
+ });
82
+ }
83
+ else {
84
+ this.container.register(request_runner_1.RequestRunner, {
85
+ useValue: runner
86
+ });
87
+ }
88
+ }
73
89
  };
74
90
  RepeaterFactory = tslib_1.__decorate([
75
91
  (0, tsyringe_1.injectable)(),
@@ -1 +1 @@
1
- {"version":3,"file":"RepeaterFactory.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/lib/RepeaterFactory.ts"],"names":[],"mappings":";;;;AAAA,yCAAsC;AACtC,sDAAyD;AAEzD,gCAA0C;AAC1C,gCAAyC;AACzC,0CAAgD;AAChD,+BAAoC;AACpC,uCAA2D;AAE3D;;GAEG;AAEH,IAAa,eAAe,GAA5B,MAAa,eAAe;IA0B1B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAzBxC,2BAAsB,GAAmC;YACxE,OAAO,EAAE,KAAK;YACd,gBAAgB,EAAE,GAAG;YACrB,eAAe,EAAE,KAAK;YACtB,YAAY,EAAE;gBACZ,WAAW;gBACX,YAAY;gBACZ,UAAU;gBACV,iBAAiB;gBACjB,eAAe;gBACf,UAAU;gBACV,wBAAwB;gBACxB,0BAA0B;gBAC1B,kBAAkB;gBAClB,iBAAiB;gBACjB,mCAAmC;gBACnC,qBAAqB;gBACrB,qBAAqB;gBACrB,qBAAqB;aACtB;SACF,CAAC;QAMA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QAErE,IAAI,CAAC,gBAAgB;YACnB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAmB,sBAAgB,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe;YAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAkB,qBAAe,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,KAAsB;QACnE,UAAU,EAAE,WAAW;KACxB;;QAED,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,IAAI,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,CAAC;QAExD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;YAChE,IAAI,EAAE,GAAG,UAAU,IAAI,IAAA,SAAM,GAAE,EAAE;YACjC,WAAW;SACZ,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE1D,MAAM,CAAA,MAAA,GAAG,CAAC,IAAI,mDAAI,CAAA,CAAC;QAEnB,OAAO,IAAI,mBAAQ,CAAC;YAClB,UAAU;YACV,GAAG;YACH,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;IACL,CAAC;IAEO,4BAA4B,CAClC,OAAyC;QAEzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,qCAAoB,EAAE;YAC5C,QAAQ,EAAE;gBACR,GAAG,IAAI,CAAC,sBAAsB;gBAC9B,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;aACnB;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAxEY,eAAe;IAD3B,IAAA,qBAAU,GAAE;6CA2BiC,oBAAa;GA1B9C,eAAe,CAwE3B;AAxEY,0CAAe"}
1
+ {"version":3,"file":"RepeaterFactory.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/lib/RepeaterFactory.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
- import { RequestRunnerOptions } from '../request-runner';
1
+ import { RequestRunner, RequestRunnerOptions } from '../request-runner';
2
2
  export interface RepeaterOptions {
3
3
  namePrefix?: string;
4
4
  description?: string;
5
5
  requestRunnerOptions?: RequestRunnerOptions;
6
+ requestRunners?: (RequestRunner | {
7
+ new (...args: any[]): RequestRunner;
8
+ })[];
6
9
  }
@@ -1,4 +1,4 @@
1
- import './register';
1
+ export * from './protocols';
2
2
  export * from './Request';
3
3
  export * from './RequestRunner';
4
4
  export * from './RequestRunnerOptions';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- require("./register");
4
+ tslib_1.__exportStar(require("./protocols"), exports);
5
5
  tslib_1.__exportStar(require("./Request"), exports);
6
6
  tslib_1.__exportStar(require("./RequestRunner"), exports);
7
7
  tslib_1.__exportStar(require("./RequestRunnerOptions"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/request-runner/index.ts"],"names":[],"mappings":";;;AAAA,sBAAoB;AAEpB,oDAA0B;AAC1B,0DAAgC;AAChC,iEAAuC;AACvC,qDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/request-runner/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,oDAA0B;AAC1B,0DAAgC;AAChC,iEAAuC;AACvC,qDAA2B"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const RequestRunner_1 = require("./RequestRunner");
4
- const protocols_1 = require("./protocols");
5
- const tsyringe_1 = require("tsyringe");
6
- tsyringe_1.container.register(RequestRunner_1.RequestRunner, {
7
- useClass: protocols_1.HttpRequestRunner
8
- });
9
- tsyringe_1.container.register(RequestRunner_1.RequestRunner, {
10
- useClass: protocols_1.WsRequestRunner
11
- });
12
- //# sourceMappingURL=register.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/request-runner/register.ts"],"names":[],"mappings":";;AAAA,mDAAgD;AAChD,2CAAiE;AACjE,uCAAqC;AAErC,oBAAS,CAAC,QAAQ,CAAC,6BAAa,EAAE;IAChC,QAAQ,EAAE,6BAAiB;CAC5B,CAAC,CAAC;AAEH,oBAAS,CAAC,QAAQ,CAAC,6BAAa,EAAE;IAChC,QAAQ,EAAE,2BAAe;CAC1B,CAAC,CAAC"}