@sectester/scan 0.36.2 → 0.37.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 (54) hide show
  1. package/README.md +4 -5
  2. package/package.json +1 -1
  3. package/src/DefaultDiscoveries.js +1 -2
  4. package/src/DefaultDiscoveries.js.map +1 -1
  5. package/src/DefaultScans.d.ts +0 -4
  6. package/src/DefaultScans.js +0 -24
  7. package/src/DefaultScans.js.map +1 -1
  8. package/src/Scans.d.ts +0 -4
  9. package/src/Scans.js.map +1 -1
  10. package/src/target/Body.d.ts +19 -0
  11. package/src/target/Body.js +165 -0
  12. package/src/target/Body.js.map +1 -0
  13. package/src/target/HeadersType.d.ts +1 -0
  14. package/src/target/HeadersType.js +3 -0
  15. package/src/target/HeadersType.js.map +1 -0
  16. package/src/target/QueryParamsType.d.ts +1 -0
  17. package/src/target/QueryParamsType.js +3 -0
  18. package/src/target/QueryParamsType.js.map +1 -0
  19. package/src/target/Target.d.ts +19 -26
  20. package/src/target/Target.js +36 -109
  21. package/src/target/Target.js.map +1 -1
  22. package/src/target/index.d.ts +3 -1
  23. package/src/target/index.js +3 -1
  24. package/src/target/index.js.map +1 -1
  25. package/src/utils/index.d.ts +0 -1
  26. package/src/utils/index.js +0 -1
  27. package/src/utils/index.js.map +1 -1
  28. package/src/target/body-parsers/BinaryBodyParser.d.ts +0 -6
  29. package/src/target/body-parsers/BinaryBodyParser.js +0 -14
  30. package/src/target/body-parsers/BinaryBodyParser.js.map +0 -1
  31. package/src/target/body-parsers/BodyParser.d.ts +0 -12
  32. package/src/target/body-parsers/BodyParser.js +0 -5
  33. package/src/target/body-parsers/BodyParser.js.map +0 -1
  34. package/src/target/body-parsers/FormDataBodyParser.d.ts +0 -9
  35. package/src/target/body-parsers/FormDataBodyParser.js +0 -63
  36. package/src/target/body-parsers/FormDataBodyParser.js.map +0 -1
  37. package/src/target/body-parsers/JsonBodyParser.d.ts +0 -7
  38. package/src/target/body-parsers/JsonBodyParser.js +0 -24
  39. package/src/target/body-parsers/JsonBodyParser.js.map +0 -1
  40. package/src/target/body-parsers/TextBodyParser.d.ts +0 -6
  41. package/src/target/body-parsers/TextBodyParser.js +0 -15
  42. package/src/target/body-parsers/TextBodyParser.js.map +0 -1
  43. package/src/target/body-parsers/UrlEncodedBodyParser.d.ts +0 -7
  44. package/src/target/body-parsers/UrlEncodedBodyParser.js +0 -25
  45. package/src/target/body-parsers/UrlEncodedBodyParser.js.map +0 -1
  46. package/src/target/body-parsers/index.d.ts +0 -2
  47. package/src/target/body-parsers/index.js +0 -6
  48. package/src/target/body-parsers/index.js.map +0 -1
  49. package/src/target/body-parsers/register.d.ts +0 -1
  50. package/src/target/body-parsers/register.js +0 -26
  51. package/src/target/body-parsers/register.js.map +0 -1
  52. package/src/utils/entries-to-list.d.ts +0 -4
  53. package/src/utils/entries-to-list.js +0 -10
  54. package/src/utils/entries-to-list.js.map +0 -1
package/README.md CHANGED
@@ -123,7 +123,7 @@ const target = new Target({
123
123
 
124
124
  #### query
125
125
 
126
- - type: `string | URLSearchParams | Record<string, string | string[]>`
126
+ - type: `URLSearchParams | string | Record<string, string | readonly string[]>`
127
127
 
128
128
  The query parameters to be sent with the request:
129
129
 
@@ -178,7 +178,7 @@ console.log(target.queryString); // a[0]=b&a[1]=c&a[2]=d
178
178
 
179
179
  #### headers
180
180
 
181
- - type: `Record<string, string | string[]>`
181
+ - type: `Headers | Record<string, string | string[]>`
182
182
 
183
183
  The HTTP headers to be sent:
184
184
 
@@ -195,7 +195,7 @@ const target = new Target({
195
195
 
196
196
  #### body
197
197
 
198
- - type: `unknown`
198
+ - type: `ArrayBuffer | AsyncIterable<Uint8Array> | Blob | FormData | NodeJS.ReadableStream | Iterable<Uint8Array> | NodeJS.ArrayBufferView | URLSearchParams | string | Record<string, unknown>`
199
199
 
200
200
  The data to be sent as the request body. Makes sense only for `POST`, `PUT`, `PATCH`, and `DELETE`:
201
201
 
@@ -210,11 +210,10 @@ const target = new Target({
210
210
  });
211
211
  ```
212
212
 
213
- You can use `FormData` objects, such as [form-data](https://www.npmjs.com/package/form-data), as request body as well:
213
+ You can use `FormData` objects, as request body as well:
214
214
 
215
215
  ```ts
216
216
  import { Target } from '@sectester/scan';
217
- import FormData from 'form-data';
218
217
 
219
218
  const form = new FormData();
220
219
  form.append('greeting', 'Hello, world!');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sectester/scan",
3
- "version": "0.36.2",
3
+ "version": "0.37.0",
4
4
  "description": "The package defines a simple public API to manage scans and their expectations.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,7 +10,6 @@ let DefaultDiscoveries = class DefaultDiscoveries {
10
10
  this.client = client;
11
11
  }
12
12
  async createEntrypoint(target, repeaterId) {
13
- var _a;
14
13
  let response = await this.client.request(`/api/v2/projects/${this.configuration.projectId}/entry-points`, {
15
14
  method: 'POST',
16
15
  body: JSON.stringify({
@@ -19,7 +18,7 @@ let DefaultDiscoveries = class DefaultDiscoveries {
19
18
  method: target.method,
20
19
  url: target.url,
21
20
  headers: target.headers,
22
- body: (_a = target.postData) === null || _a === void 0 ? void 0 : _a.text
21
+ body: await target.text()
23
22
  }
24
23
  }),
25
24
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultDiscoveries.js","sourceRoot":"","sources":["../../../../packages/scan/src/DefaultDiscoveries.ts"],"names":[],"mappings":";;;;AAEA,uCAA8C;AAC9C,0CAA2D;AAGpD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,aAA4B,EAE5B,MAAiB;QAFjB,kBAAa,GAAb,aAAa,CAAe;QAE5B,WAAM,GAAN,MAAM,CAAW;IACjC,CAAC;IAEG,KAAK,CAAC,gBAAgB,CAC3B,MAAc,EACd,UAAkB;;QAElB,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACtC,oBAAoB,IAAI,CAAC,aAAa,CAAC,SAAS,eAAe,EAC/D;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU;gBACV,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI;iBAC5B;aACF,CAAC;YACF,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAW,CAAC;YAC5D,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;QAEvD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAvCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,qBAAU,GAAE;IAIR,mBAAA,IAAA,iBAAM,EAAC,gBAAS,CAAC,CAAA;6CADc,oBAAa;GAFpC,kBAAkB,CAuC9B"}
1
+ {"version":3,"file":"DefaultDiscoveries.js","sourceRoot":"","sources":["../../../../packages/scan/src/DefaultDiscoveries.ts"],"names":[],"mappings":";;;;AAEA,uCAA8C;AAC9C,0CAA2D;AAGpD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,aAA4B,EAE5B,MAAiB;QAFjB,kBAAa,GAAb,aAAa,CAAe;QAE5B,WAAM,GAAN,MAAM,CAAW;IACjC,CAAC;IAEG,KAAK,CAAC,gBAAgB,CAC3B,MAAc,EACd,UAAkB;QAElB,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACtC,oBAAoB,IAAI,CAAC,aAAa,CAAC,SAAS,eAAe,EAC/D;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU;gBACV,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,MAAM,CAAC,IAAI,EAAE;iBAC1B;aACF,CAAC;YACF,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAW,CAAC;YAC5D,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;QAEvD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAvCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,qBAAU,GAAE;IAIR,mBAAA,IAAA,iBAAM,EAAC,gBAAS,CAAC,CAAA;6CADc,oBAAa;GAFpC,kBAAkB,CAuC9B"}
@@ -1,6 +1,5 @@
1
1
  import { Scans } from './Scans';
2
2
  import { Issue, ScanConfig, ScanState } from './models';
3
- import { Target } from './target';
4
3
  import { ApiClient, Configuration } from '@sectester/core';
5
4
  export declare class DefaultScans implements Scans {
6
5
  private readonly configuration;
@@ -13,7 +12,4 @@ export declare class DefaultScans implements Scans {
13
12
  stopScan(id: string): Promise<void>;
14
13
  deleteScan(id: string): Promise<void>;
15
14
  getScan(id: string): Promise<ScanState>;
16
- createEntrypoint(target: Target, repeaterId: string): Promise<{
17
- id: string;
18
- }>;
19
15
  }
@@ -69,30 +69,6 @@ let DefaultScans = class DefaultScans {
69
69
  const result = (await response.json());
70
70
  return result;
71
71
  }
72
- async createEntrypoint(target, repeaterId) {
73
- var _a;
74
- let response = await this.client.request(`/api/v2/projects/${this.configuration.projectId}/entry-points`, {
75
- method: 'POST',
76
- body: JSON.stringify({
77
- repeaterId,
78
- request: {
79
- method: target.method,
80
- url: target.url,
81
- headers: target.headers,
82
- body: (_a = target.postData) === null || _a === void 0 ? void 0 : _a.text
83
- }
84
- }),
85
- headers: {
86
- 'content-type': 'application/json'
87
- }
88
- });
89
- if (response.status === 409 && response.headers.has('location')) {
90
- const location = response.headers.get('location');
91
- response = await this.client.request(location);
92
- }
93
- const data = (await response.json());
94
- return data;
95
- }
96
72
  };
97
73
  exports.DefaultScans = DefaultScans;
98
74
  exports.DefaultScans = DefaultScans = tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultScans.js","sourceRoot":"","sources":["../../../../packages/scan/src/DefaultScans.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DefaultScans.js","sourceRoot":"","sources":["../../../../packages/scan/src/DefaultScans.ts"],"names":[],"mappings":";;;;AAEA,uCAA8C;AAC9C,0CAAqE;AACrE,8DAAyB;AAGlB,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YACmB,aAA4B,EAE5B,MAAiB;QAFjB,kBAAa,GAAb,aAAa,CAAe;QAE5B,WAAM,GAAN,MAAM,CAAW;IACjC,CAAC;IAEG,KAAK,CAAC,UAAU,CAAC,MAAkB;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,GAAG,MAAM;gBACT,IAAI,EAAE;oBACJ,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,iBAAE,CAAC,IAAI;oBACjB,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;wBAC7B,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO;qBACpC;iBACF;aACF,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;QAEzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,EAAU;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAEjC,CAAC;QAEL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtB,GAAG,CAAC;YACJ,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE;SACjE,CAAC,CAAC,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,EAAU;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,eAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC/D,OAAO;YACT,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,EAAU;QAChC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,EAAE;gBAC/C,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,eAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC/D,OAAO;YACT,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAU;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAc,CAAC;QAEpD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA3EY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,qBAAU,GAAE;IAIR,mBAAA,IAAA,iBAAM,EAAC,gBAAS,CAAC,CAAA;6CADc,oBAAa;GAFpC,YAAY,CA2ExB"}
package/src/Scans.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Issue, ScanConfig, ScanState } from './models';
2
- import { Target } from './target';
3
2
  export interface Scans {
4
3
  createScan(config: ScanConfig): Promise<{
5
4
  id: string;
@@ -8,8 +7,5 @@ export interface Scans {
8
7
  stopScan(id: string): Promise<void>;
9
8
  deleteScan(id: string): Promise<void>;
10
9
  getScan(id: string): Promise<ScanState>;
11
- createEntrypoint(target: Target, repeaterId?: string): Promise<{
12
- id: string;
13
- }>;
14
10
  }
15
11
  export declare const Scans: unique symbol;
package/src/Scans.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Scans.js","sourceRoot":"","sources":["../../../../packages/scan/src/Scans.ts"],"names":[],"mappings":";;;AAoBa,QAAA,KAAK,GAAkB,MAAM,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"Scans.js","sourceRoot":"","sources":["../../../../packages/scan/src/Scans.ts"],"names":[],"mappings":";;;AAca,QAAA,KAAK,GAAkB,MAAM,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ export type BodyType = ArrayBuffer | AsyncIterable<Uint8Array> | Blob | FormData | NodeJS.ReadableStream | Iterable<Uint8Array> | NodeJS.ArrayBufferView | URLSearchParams | null | string | Record<string, unknown>;
2
+ export declare class Body {
3
+ private readonly data;
4
+ constructor(data: BodyType);
5
+ private static fromArrayBuffer;
6
+ private static fromAsyncIterable;
7
+ private static fromBlob;
8
+ private static fromFormData;
9
+ private static fromIterable;
10
+ private static fromArrayBufferView;
11
+ private static fromURLSearchParams;
12
+ private static fromReadableStream;
13
+ text(): Promise<string | undefined>;
14
+ type(): string;
15
+ private detectStringMimeType;
16
+ private isJson;
17
+ private isXml;
18
+ private isPlainObject;
19
+ }
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Body = void 0;
4
+ const utils_1 = require("../utils");
5
+ const node_crypto_1 = require("node:crypto");
6
+ const node_stream_1 = require("node:stream");
7
+ class Body {
8
+ constructor(data) {
9
+ this.data = data;
10
+ }
11
+ static fromArrayBuffer(data) {
12
+ return new TextDecoder().decode(data);
13
+ }
14
+ static async fromAsyncIterable(data) {
15
+ const chunks = [];
16
+ for await (const chunk of data) {
17
+ chunks.push(chunk);
18
+ }
19
+ return new TextDecoder().decode(Buffer.concat(chunks));
20
+ }
21
+ static async fromBlob(data) {
22
+ const arrayBuffer = await data.arrayBuffer();
23
+ return new TextDecoder().decode(arrayBuffer);
24
+ }
25
+ static async fromFormData(data) {
26
+ const array = new Uint32Array(10);
27
+ const boundary = (0, utils_1.escape)(`----BrightFormBoundary${(0, node_crypto_1.getRandomValues)(array)}`);
28
+ let formDataString = '';
29
+ for (const [key, value] of data) {
30
+ formDataString += `--${boundary}\r\n`;
31
+ if (typeof value === 'string') {
32
+ formDataString += `content-disposition: form-data; name="${key}"\r\n\r\n`;
33
+ formDataString += `${value}\r\n`;
34
+ }
35
+ else {
36
+ formDataString += `content-disposition: form-data; name="${value.name}"; filename="${value.type}"\r\n`;
37
+ formDataString += `content-type: ${value.type}\r\n\r\n`;
38
+ formDataString += `${await this.fromBlob(value)}\r\n`;
39
+ }
40
+ }
41
+ formDataString += `--${boundary}--\r\n`;
42
+ return formDataString;
43
+ }
44
+ static fromIterable(data) {
45
+ const chunks = [];
46
+ for (const chunk of data) {
47
+ chunks.push(chunk);
48
+ }
49
+ return new TextDecoder().decode(Buffer.concat(chunks));
50
+ }
51
+ static fromArrayBufferView(data) {
52
+ return new TextDecoder().decode(data);
53
+ }
54
+ static fromURLSearchParams(data) {
55
+ return data.toString();
56
+ }
57
+ static async fromReadableStream(data) {
58
+ const chunks = [];
59
+ for await (const chunk of data) {
60
+ chunks.push(Buffer.from(chunk));
61
+ }
62
+ return new TextDecoder().decode(Buffer.concat(chunks));
63
+ }
64
+ // eslint-disable-next-line complexity
65
+ async text() {
66
+ if (!this.data) {
67
+ return;
68
+ }
69
+ if (typeof this.data === 'string') {
70
+ return this.data;
71
+ }
72
+ if (this.data instanceof ArrayBuffer) {
73
+ return Body.fromArrayBuffer(this.data);
74
+ }
75
+ if (this.data instanceof Blob) {
76
+ return Body.fromBlob(this.data);
77
+ }
78
+ if (this.data instanceof FormData) {
79
+ return Body.fromFormData(this.data);
80
+ }
81
+ if (this.data instanceof URLSearchParams) {
82
+ return Body.fromURLSearchParams(this.data);
83
+ }
84
+ if (ArrayBuffer.isView(this.data)) {
85
+ return Body.fromArrayBufferView(this.data);
86
+ }
87
+ if (typeof Object(this.data)[Symbol.iterator] === 'function') {
88
+ return Body.fromIterable(this.data);
89
+ }
90
+ if ((0, node_stream_1.isReadable)(this.data)) {
91
+ return Body.fromReadableStream(this.data);
92
+ }
93
+ if (typeof Object(this.data)[Symbol.asyncIterator] === 'function') {
94
+ return Body.fromAsyncIterable(this.data);
95
+ }
96
+ if (typeof this.data === 'object') {
97
+ return JSON.stringify(this.data);
98
+ }
99
+ throw new Error('Unsupported data type');
100
+ }
101
+ type() {
102
+ var _a;
103
+ if (this.data === null) {
104
+ return 'text/plain';
105
+ }
106
+ if (typeof this.data === 'string') {
107
+ return this.detectStringMimeType(this.data);
108
+ }
109
+ if (this.data instanceof FormData) {
110
+ return 'multipart/form-data';
111
+ }
112
+ if (this.data instanceof URLSearchParams) {
113
+ return 'application/x-www-form-urlencoded';
114
+ }
115
+ if (this.data instanceof Blob) {
116
+ return (_a = this.data.type) !== null && _a !== void 0 ? _a : 'application/octet-stream';
117
+ }
118
+ if (this.isPlainObject(this.data)) {
119
+ return 'application/json';
120
+ }
121
+ return 'application/octet-stream';
122
+ }
123
+ detectStringMimeType(data) {
124
+ const trimmed = data.trim();
125
+ if (this.isJson(trimmed)) {
126
+ return 'application/json';
127
+ }
128
+ if (this.isXml(trimmed)) {
129
+ return 'application/xml';
130
+ }
131
+ return 'text/plain';
132
+ }
133
+ isJson(text) {
134
+ if (!((text.startsWith('{') && text.endsWith('}')) ||
135
+ (text.startsWith('[') && text.endsWith(']')))) {
136
+ return false;
137
+ }
138
+ try {
139
+ JSON.parse(text);
140
+ return true;
141
+ }
142
+ catch {
143
+ return false;
144
+ }
145
+ }
146
+ isXml(text) {
147
+ return (text.startsWith('<?xml') ||
148
+ (text.startsWith('<') &&
149
+ !text.startsWith('<!DOCTYPE html') &&
150
+ !text.startsWith('<!--') &&
151
+ text.includes('</') &&
152
+ text.endsWith('>')));
153
+ }
154
+ isPlainObject(data) {
155
+ return (typeof data === 'object' &&
156
+ data !== null &&
157
+ !(data instanceof ArrayBuffer) &&
158
+ !ArrayBuffer.isView(data) &&
159
+ !(Symbol.iterator in data) &&
160
+ !(Symbol.asyncIterator in data) &&
161
+ !(0, node_stream_1.isReadable)(data));
162
+ }
163
+ }
164
+ exports.Body = Body;
165
+ //# sourceMappingURL=Body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Body.js","sourceRoot":"","sources":["../../../../../packages/scan/src/target/Body.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export type HeadersType = string[][] | Record<string, string | readonly string[]> | Headers;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=HeadersType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadersType.js","sourceRoot":"","sources":["../../../../../packages/scan/src/target/HeadersType.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export type QueryParamsType = URLSearchParams | string | Record<string, string | readonly string[]> | Iterable<[string, string]> | readonly [string, string][];
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=QueryParamsType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryParamsType.js","sourceRoot":"","sources":["../../../../../packages/scan/src/target/QueryParamsType.ts"],"names":[],"mappings":""}
@@ -1,47 +1,40 @@
1
1
  import { HttpMethod } from '../models';
2
- import { Header, PostData, QueryString, Request } from '@har-sdk/core';
2
+ import { BodyType } from './Body';
3
+ import { HeadersType } from './HeadersType';
4
+ import { QueryParamsType } from './QueryParamsType';
3
5
  export interface TargetOptions {
4
6
  url: string;
5
- query?: URLSearchParams | Record<string, string | string[]> | string;
6
- body?: unknown;
7
+ query?: QueryParamsType;
8
+ body?: BodyType;
7
9
  method?: HttpMethod | string;
8
- headers?: Record<string, string | string[]>;
9
- serializeQuery?(params: URLSearchParams | Record<string, string | string[]>): string;
10
+ headers?: HeadersType;
11
+ serializeQuery?(params: QueryParamsType): string;
10
12
  }
11
13
  export declare class Target implements TargetOptions {
12
- private _serializeQuery;
13
- get serializeQuery(): (params: URLSearchParams | Record<string, string | string[]>) => string;
14
14
  private _parsedURL;
15
15
  get parsedURL(): URL;
16
- private _url?;
16
+ private _cachedUrl?;
17
17
  get url(): string;
18
18
  private set url(value);
19
19
  private _method;
20
20
  get method(): HttpMethod;
21
- set method(value: HttpMethod);
21
+ private set method(value);
22
22
  private _queryString?;
23
- get queryString(): string;
24
- private _queryParameters?;
25
- get queryParameters(): QueryString[];
26
23
  private _query?;
27
- get query(): URLSearchParams | Record<string, string | string[]> | string;
24
+ get queryString(): string;
25
+ get query(): QueryParamsType;
28
26
  private set query(value);
29
- private _headerValues;
30
- private _headerParameters?;
31
- get headerParameters(): Header[];
27
+ private _parsedHeaders;
32
28
  private _headers?;
33
- get headers(): Record<string, string | string[]>;
29
+ get headers(): HeadersType;
34
30
  private set headers(value);
35
- private _postData;
36
- get postData(): PostData | undefined;
37
31
  private _body?;
38
- get body(): unknown;
32
+ private _parsedBody?;
33
+ get body(): BodyType | undefined;
39
34
  private set body(value);
40
- get contentType(): string | undefined;
41
- get httpVersion(): string;
35
+ private readonly _serializeQuery;
36
+ get serializeQuery(): (params: QueryParamsType) => string;
42
37
  constructor({ url, body, query, headers, serializeQuery, method }: TargetOptions);
43
- toHarRequest(): Request;
44
- private setContentTypeIfUnset;
45
- private getHeaderValue;
46
- private computeHeaderValue;
38
+ text(): Promise<string | undefined>;
39
+ private readonly defaultSerializeQuery;
47
40
  }
@@ -2,33 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Target = void 0;
4
4
  const models_1 = require("../models");
5
- const utils_1 = require("../utils");
6
- const body_parsers_1 = require("./body-parsers");
5
+ const Body_1 = require("./Body");
7
6
  const core_1 = require("@har-sdk/core");
8
- const core_2 = require("@sectester/core");
9
- const tsyringe_1 = require("tsyringe");
10
- const url_1 = require("url");
11
7
  class Target {
12
- get serializeQuery() {
13
- return this._serializeQuery;
14
- }
15
8
  get parsedURL() {
16
9
  return this._parsedURL;
17
10
  }
18
11
  get url() {
19
- if (!this._url) {
20
- this._url = (0, url_1.format)(this._parsedURL, {
21
- fragment: false
22
- });
12
+ if (!this._cachedUrl) {
13
+ this._cachedUrl = this._parsedURL.toString();
23
14
  }
24
- return this._url;
15
+ return this._cachedUrl;
25
16
  }
26
17
  set url(value) {
27
18
  this._parsedURL = new URL((0, core_1.normalizeUrl)(value));
28
- delete this._url;
29
- delete this._query;
30
- delete this._queryString;
31
- delete this._queryParameters;
19
+ this._cachedUrl = undefined;
20
+ this._query = undefined;
21
+ this._queryString = undefined;
32
22
  }
33
23
  get method() {
34
24
  return this._method;
@@ -39,127 +29,64 @@ class Target {
39
29
  get queryString() {
40
30
  if (!this._queryString) {
41
31
  const params = this._query || this._parsedURL.search;
42
- this._queryString = !(0, core_2.isString)(params)
43
- ? this.serializeQuery(params)
44
- : params.replace(/^\?/, '');
32
+ this._queryString =
33
+ typeof params !== 'string'
34
+ ? this.serializeQuery(params)
35
+ : params.replace(/^\?/, '');
45
36
  }
46
37
  return this._queryString;
47
38
  }
48
- get queryParameters() {
49
- var _a;
50
- if (!this._queryParameters) {
51
- this._queryParameters = (0, utils_1.entriesToList)(new URLSearchParams(this.queryString));
52
- }
53
- return (_a = this._queryParameters) !== null && _a !== void 0 ? _a : [];
54
- }
55
39
  get query() {
56
40
  var _a;
57
41
  return (_a = this._query) !== null && _a !== void 0 ? _a : '';
58
42
  }
59
43
  set query(queryString) {
60
44
  this._query = queryString;
45
+ this._queryString = undefined;
61
46
  this._parsedURL.search = this.queryString;
62
- }
63
- get headerParameters() {
64
- var _a, _b;
65
- if (!((_a = this._headerParameters) === null || _a === void 0 ? void 0 : _a.length)) {
66
- this._headerParameters = (0, utils_1.entriesToList)(Object.entries(this.headers));
67
- }
68
- return (_b = this._headerParameters) !== null && _b !== void 0 ? _b : [];
47
+ this._cachedUrl = undefined;
69
48
  }
70
49
  get headers() {
71
- var _a;
72
- return (_a = this._headers) !== null && _a !== void 0 ? _a : {};
73
- }
74
- set headers(headers) {
75
- this._headers = headers;
76
- this._headerValues.clear();
77
- delete this._headerParameters;
78
- }
79
- get postData() {
80
- var _a;
81
- if (!this._postData && (0, core_2.isPresent)(this.body)) {
82
- const parsedBody = (_a = tsyringe_1.container
83
- .resolveAll(body_parsers_1.BodyParser)
84
- .find(x => x.canParse(this))) === null || _a === void 0 ? void 0 : _a.parse(this);
85
- if (parsedBody) {
86
- this.setContentTypeIfUnset(parsedBody.contentType);
87
- this._postData = {
88
- text: parsedBody.text,
89
- params: parsedBody.params,
90
- mimeType: parsedBody.contentType
91
- };
50
+ if (!this._headers) {
51
+ if (!this._parsedHeaders.has('content-type') && this._parsedBody) {
52
+ this._parsedHeaders.set('content-type', this._parsedBody.type());
92
53
  }
54
+ this._headers = Object.fromEntries(this._parsedHeaders);
93
55
  }
94
- return this._postData;
56
+ return this._headers;
57
+ }
58
+ set headers(value) {
59
+ this._parsedHeaders = new Headers(value);
60
+ delete this._headers;
95
61
  }
96
62
  get body() {
97
63
  return this._body;
98
64
  }
99
65
  set body(value) {
100
66
  this._body = value;
101
- delete this._postData;
102
- }
103
- get contentType() {
104
- return this.getHeaderValue('content-type');
105
- }
106
- get httpVersion() {
107
- const version = this.getHeaderValue('version') || this.getHeaderValue(':version');
108
- if (version) {
109
- return version;
67
+ if (value !== undefined) {
68
+ this._parsedBody = new Body_1.Body(value);
110
69
  }
111
- return 'HTTP/0.9';
70
+ }
71
+ get serializeQuery() {
72
+ return this._serializeQuery;
112
73
  }
113
74
  constructor({ url, body, query, headers = {}, serializeQuery, method = models_1.HttpMethod.GET }) {
114
- this._headerValues = new Map();
75
+ this.defaultSerializeQuery = (params) => new URLSearchParams(params).toString();
115
76
  this.url = url;
116
77
  this.method = (0, models_1.isHttpMethod)(method) ? method : models_1.HttpMethod.GET;
117
- this.body = body;
118
78
  this.headers = headers;
119
- this._serializeQuery =
120
- serializeQuery !== null && serializeQuery !== void 0 ? serializeQuery : ((params) => new URLSearchParams(params).toString());
121
- this.query = query !== null && query !== void 0 ? query : '';
122
- }
123
- toHarRequest() {
124
- return {
125
- postData: this.postData,
126
- headers: [...this.headerParameters],
127
- method: this.method,
128
- url: this.url,
129
- httpVersion: this.httpVersion,
130
- queryString: [...this.queryParameters],
131
- cookies: [],
132
- headersSize: -1,
133
- bodySize: -1
134
- };
135
- }
136
- setContentTypeIfUnset(contentType) {
137
- if (!this.contentType) {
138
- this.headers = {
139
- ...this.headers,
140
- 'content-type': contentType
141
- };
79
+ this._serializeQuery = serializeQuery !== null && serializeQuery !== void 0 ? serializeQuery : this.defaultSerializeQuery;
80
+ if (body !== undefined) {
81
+ this.body = body;
142
82
  }
143
- }
144
- getHeaderValue(headerName) {
145
- if (!this._headerValues.has(headerName)) {
146
- this._headerValues.set(headerName, this.computeHeaderValue(headerName));
83
+ if (query) {
84
+ this.query = query;
147
85
  }
148
- return this._headerValues.get(headerName);
149
86
  }
150
- computeHeaderValue(headerName) {
151
- const normalizedName = headerName.toLowerCase();
152
- const values = this.headerParameters
153
- .filter(({ name }) => name.toLowerCase() === normalizedName)
154
- .map(({ value }) => value);
155
- if (!values.length) {
156
- return;
157
- }
158
- // Set-Cookie values should be separated by '\n', not comma, otherwise cookies could not be parsed.
159
- if (normalizedName === 'set-cookie') {
160
- return values.join('\n');
161
- }
162
- return values.join(', ');
87
+ async text() {
88
+ var _a;
89
+ return (_a = this._parsedBody) === null || _a === void 0 ? void 0 : _a.text();
163
90
  }
164
91
  }
165
92
  exports.Target = Target;
@@ -1 +1 @@
1
- {"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../../packages/scan/src/target/Target.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../../packages/scan/src/target/Target.ts"],"names":[],"mappings":";;;AAAA,sCAAqD;AACrD,iCAAwC;AAGxC,wCAA6C;AAmB7C,MAAa,MAAM;IAGjB,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAID,IAAI,GAAG;QACL,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAY,GAAG,CAAC,KAAa;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAA,mBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAID,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAY,MAAM,CAAC,KAAiB;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAKD,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACrD,IAAI,CAAC,YAAY;gBACf,OAAO,MAAM,KAAK,QAAQ;oBACxB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;oBAC7B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK;;QACP,OAAO,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAC;IAC3B,CAAC;IAED,IAAY,KAAK,CAAC,WAA4B;QAC5C,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAKD,IAAI,OAAO;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAY,OAAO,CAAC,KAAkB;QACpC,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAKD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAY,IAAI,CAAC,KAA2B;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,IAAI,WAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAID,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,YAAY,EACV,GAAG,EACH,IAAI,EACJ,KAAK,EACL,OAAO,GAAG,EAAE,EACZ,cAAc,EACd,MAAM,GAAG,mBAAU,CAAC,GAAG,EACT;QAmBC,0BAAqB,GAAG,CAAC,MAAuB,EAAU,EAAE,CAC3E,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAnBvC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAU,CAAC,GAAG,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,IAAI,CAAC,qBAAqB,CAAC;QAEpE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAI;;QACf,OAAO,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,EAAE,CAAC;IAClC,CAAC;CAIF;AA/HD,wBA+HC"}
@@ -1,2 +1,4 @@
1
- export * from './body-parsers';
1
+ export * from './Body';
2
+ export * from './HeadersType';
3
+ export * from './QueryParamsType';
2
4
  export * from './Target';
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./body-parsers"), exports);
4
+ tslib_1.__exportStar(require("./Body"), exports);
5
+ tslib_1.__exportStar(require("./HeadersType"), exports);
6
+ tslib_1.__exportStar(require("./QueryParamsType"), exports);
5
7
  tslib_1.__exportStar(require("./Target"), exports);
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/scan/src/target/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,mDAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/scan/src/target/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,wDAA8B;AAC9B,4DAAkC;AAClC,mDAAyB"}
@@ -1,2 +1 @@
1
1
  export * from './escape';
2
- export * from './entries-to-list';
@@ -2,5 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./escape"), exports);
5
- tslib_1.__exportStar(require("./entries-to-list"), exports);
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/scan/src/utils/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,4DAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/scan/src/utils/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB"}
@@ -1,6 +0,0 @@
1
- import { BodyParser, ParsedBody } from './BodyParser';
2
- import { Target } from '../Target';
3
- export declare class BinaryBodyParser implements BodyParser {
4
- canParse(target: Target): boolean;
5
- parse({ contentType, body }: Target): ParsedBody;
6
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BinaryBodyParser = void 0;
4
- class BinaryBodyParser {
5
- canParse(target) {
6
- return ArrayBuffer.isView(target.body);
7
- }
8
- parse({ contentType, body }) {
9
- const text = Buffer.from(body).toString();
10
- return { text, contentType: contentType !== null && contentType !== void 0 ? contentType : 'application/octet-stream' };
11
- }
12
- }
13
- exports.BinaryBodyParser = BinaryBodyParser;
14
- //# sourceMappingURL=BinaryBodyParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BinaryBodyParser.js","sourceRoot":"","sources":["../../../../../../packages/scan/src/target/body-parsers/BinaryBodyParser.ts"],"names":[],"mappings":";;;AAGA,MAAa,gBAAgB;IACpB,QAAQ,CAAC,MAAc;QAC5B,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,EAAE,WAAW,EAAE,IAAI,EAAU;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAuB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE7D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,0BAA0B,EAAE,CAAC;IAC1E,CAAC;CACF;AAVD,4CAUC"}
@@ -1,12 +0,0 @@
1
- import { Target } from '../Target';
2
- import { Param } from '@har-sdk/core';
3
- export interface ParsedBody {
4
- text: string;
5
- contentType: string;
6
- params?: Param[];
7
- }
8
- export interface BodyParser {
9
- canParse(target: Target): boolean;
10
- parse(target: Target): ParsedBody | undefined;
11
- }
12
- export declare const BodyParser: unique symbol;
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BodyParser = void 0;
4
- exports.BodyParser = Symbol('BodyParser');
5
- //# sourceMappingURL=BodyParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BodyParser.js","sourceRoot":"","sources":["../../../../../../packages/scan/src/target/body-parsers/BodyParser.ts"],"names":[],"mappings":";;;AAea,QAAA,UAAU,GAAkB,MAAM,CAAC,YAAY,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import { BodyParser, ParsedBody } from './BodyParser';
2
- import { Target } from '../Target';
3
- export declare class FormDataBodyParser implements BodyParser {
4
- private readonly MIME_TYPE_REGEXP;
5
- private readonly FORM_DATA_KEY_VALUE_REGEXP;
6
- canParse(target: Target): boolean;
7
- parse({ body, contentType }: Target): ParsedBody;
8
- private parseMultipartFormDataParameters;
9
- }
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormDataBodyParser = void 0;
4
- const utils_1 = require("../../utils");
5
- const core_1 = require("@sectester/core");
6
- class FormDataBodyParser {
7
- constructor() {
8
- this.MIME_TYPE_REGEXP = /^multipart\/form-data\s*;\s*boundary\s*=\s*(\S+)\s*$/i;
9
- this.FORM_DATA_KEY_VALUE_REGEXP = new RegExp(
10
- // Header with an optional file name.
11
- '^\\r\\ncontent-disposition\\s*:\\s*form-data\\s*;\\s*name="([^"]*)"(?:\\s*;\\s*filename="([^"]*)")?' +
12
- // Optional secondary header with the content type.
13
- '(?:\\r\\ncontent-type\\s*:\\s*([^\\r\\n]*))?' +
14
- // Padding.
15
- '\\r\\n\\r\\n' +
16
- // Value
17
- '(.*)' +
18
- // Padding.
19
- '\\r\\n$', 'is');
20
- }
21
- canParse(target) {
22
- var _a;
23
- return ((0, core_1.isFormData)(target.body) ||
24
- ((0, core_1.isString)(target.body) &&
25
- this.MIME_TYPE_REGEXP.test((_a = target.contentType) !== null && _a !== void 0 ? _a : '')));
26
- }
27
- parse({ body, contentType = 'multipart/form-data' }) {
28
- var _a;
29
- let text = '';
30
- if ((0, core_1.isString)(body)) {
31
- text = body;
32
- }
33
- else if ((0, core_1.isFormData)(body)) {
34
- contentType = body.getHeaders()['content-type'];
35
- text = body.getBuffer().toString();
36
- }
37
- const [, boundary] = (_a = contentType.match(this.MIME_TYPE_REGEXP)) !== null && _a !== void 0 ? _a : [];
38
- const params = boundary
39
- ? this.parseMultipartFormDataParameters(text, boundary)
40
- : [];
41
- return {
42
- text,
43
- params,
44
- contentType
45
- };
46
- }
47
- parseMultipartFormDataParameters(data, boundary) {
48
- const sanitizedBoundary = (0, utils_1.escape)(boundary);
49
- const fields = data.split(
50
- // eslint-disable-next-line no-useless-escape
51
- new RegExp(`--${sanitizedBoundary}(?:--\s*$)?`, 'g'));
52
- return fields.reduce((result, field) => {
53
- const [match, name, fileName, contentType, value] = field.match(this.FORM_DATA_KEY_VALUE_REGEXP) || [];
54
- if (!match) {
55
- return result;
56
- }
57
- result.push({ name, value, fileName, contentType });
58
- return result;
59
- }, []);
60
- }
61
- }
62
- exports.FormDataBodyParser = FormDataBodyParser;
63
- //# sourceMappingURL=FormDataBodyParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormDataBodyParser.js","sourceRoot":"","sources":["../../../../../../packages/scan/src/target/body-parsers/FormDataBodyParser.ts"],"names":[],"mappings":";;;AAEA,uCAAqC;AACrC,0CAAuD;AAGvD,MAAa,kBAAkB;IAA/B;QACmB,qBAAgB,GAC/B,uDAAuD,CAAC;QACzC,+BAA0B,GAAG,IAAI,MAAM;QACtD,qCAAqC;QACrC,qGAAqG;YACnG,mDAAmD;YACnD,8CAA8C;YAC9C,WAAW;YACX,cAAc;YACd,QAAQ;YACR,MAAM;YACN,WAAW;YACX,SAAS,EACX,IAAI,CACL,CAAC;IA4DJ,CAAC;IA1DQ,QAAQ,CAAC,MAAc;;QAC5B,OAAO,CACL,IAAA,iBAAU,EAAC,MAAM,CAAC,IAAI,CAAC;YACvB,CAAC,IAAA,eAAQ,EAAC,MAAM,CAAC,IAAI,CAAC;gBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAA,MAAM,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,CACxD,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,EACX,IAAI,EACJ,WAAW,GAAG,qBAAqB,EAC5B;;QACP,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,IAAA,eAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAA,iBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,CAAC;YAChD,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,CAAC,EAAE,QAAQ,CAAC,GAChB,MAAA,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,mCAAI,EAAE,CAAC;QAEjD,MAAM,MAAM,GAAG,QAAQ;YACrB,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,IAAI,EAAE,QAAQ,CAAC;YACvD,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;YACL,IAAI;YACJ,MAAM;YACN,WAAW;SACZ,CAAC;IACJ,CAAC;IAEO,gCAAgC,CACtC,IAAY,EACZ,QAAgB;QAEhB,MAAM,iBAAiB,GAAG,IAAA,cAAM,EAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAa,IAAI,CAAC,KAAK;QACjC,6CAA6C;QAC7C,IAAI,MAAM,CAAC,KAAK,iBAAiB,aAAa,EAAE,GAAG,CAAC,CACrD,CAAC;QAEF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAe,EAAE,KAAa,EAAW,EAAE;YAC/D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,GAC/C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;YAErD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;YAEpD,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;CACF;AA3ED,gDA2EC"}
@@ -1,7 +0,0 @@
1
- import { BodyParser, ParsedBody } from './BodyParser';
2
- import { Target } from '../Target';
3
- export declare class JsonBodyParser implements BodyParser {
4
- private readonly MIME_TYPE_REGEXP;
5
- canParse(target: Target): boolean;
6
- parse(target: Target): ParsedBody;
7
- }
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsonBodyParser = void 0;
4
- const core_1 = require("@sectester/core");
5
- class JsonBodyParser {
6
- constructor() {
7
- this.MIME_TYPE_REGEXP = /^application\/json[-+\w\d]*?\s*(;.*)?$/i;
8
- }
9
- canParse(target) {
10
- var _a;
11
- return ((0, core_1.isObject)(target.body) ||
12
- ((0, core_1.isString)(target.body) &&
13
- this.MIME_TYPE_REGEXP.test((_a = target.contentType) !== null && _a !== void 0 ? _a : '')));
14
- }
15
- parse(target) {
16
- var _a;
17
- const text = (0, core_1.isString)(target.body)
18
- ? target.body
19
- : JSON.stringify(target.body);
20
- return { text, contentType: (_a = target.contentType) !== null && _a !== void 0 ? _a : 'application/json' };
21
- }
22
- }
23
- exports.JsonBodyParser = JsonBodyParser;
24
- //# sourceMappingURL=JsonBodyParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JsonBodyParser.js","sourceRoot":"","sources":["../../../../../../packages/scan/src/target/body-parsers/JsonBodyParser.ts"],"names":[],"mappings":";;;AAEA,0CAAqD;AAErD,MAAa,cAAc;IAA3B;QACmB,qBAAgB,GAAG,yCAAyC,CAAC;IAiBhF,CAAC;IAfQ,QAAQ,CAAC,MAAc;;QAC5B,OAAO,CACL,IAAA,eAAQ,EAAC,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC,IAAA,eAAQ,EAAC,MAAM,CAAC,IAAI,CAAC;gBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAA,MAAM,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,CACxD,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAc;;QACzB,MAAM,IAAI,GAAG,IAAA,eAAQ,EAAC,MAAM,CAAC,IAAI,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,IAAI;YACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEhC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAA,MAAM,CAAC,WAAW,mCAAI,kBAAkB,EAAE,CAAC;IACzE,CAAC;CACF;AAlBD,wCAkBC"}
@@ -1,6 +0,0 @@
1
- import { BodyParser, ParsedBody } from './BodyParser';
2
- import { Target } from '../Target';
3
- export declare class TextBodyParser implements BodyParser {
4
- canParse({ body }: Target): boolean;
5
- parse({ body, contentType }: Target): ParsedBody;
6
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TextBodyParser = void 0;
4
- const core_1 = require("@sectester/core");
5
- class TextBodyParser {
6
- canParse({ body }) {
7
- return (0, core_1.isDate)(body) || (0, core_1.isBoolean)(body) || (0, core_1.isNumber)(body) || (0, core_1.isString)(body);
8
- }
9
- parse({ body, contentType = 'text/plain' }) {
10
- const text = body.toString();
11
- return { text, contentType };
12
- }
13
- }
14
- exports.TextBodyParser = TextBodyParser;
15
- //# sourceMappingURL=TextBodyParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextBodyParser.js","sourceRoot":"","sources":["../../../../../../packages/scan/src/target/body-parsers/TextBodyParser.ts"],"names":[],"mappings":";;;AAEA,0CAAwE;AAExE,MAAa,cAAc;IAClB,QAAQ,CAAC,EAAE,IAAI,EAAU;QAC9B,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,IAAA,gBAAS,EAAC,IAAI,CAAC,IAAI,IAAA,eAAQ,EAAC,IAAI,CAAC,IAAI,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAEM,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,YAAY,EAAU;QACvD,MAAM,IAAI,GAAI,IAAY,CAAC,QAAQ,EAAE,CAAC;QAEtC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;CACF;AAVD,wCAUC"}
@@ -1,7 +0,0 @@
1
- import { BodyParser, ParsedBody } from './BodyParser';
2
- import { Target } from '../Target';
3
- export declare class UrlEncodedBodyParser implements BodyParser {
4
- private readonly MIME_TYPE_REGEXP;
5
- canParse({ body, contentType }: Target): boolean;
6
- parse({ body, contentType }: Target): ParsedBody;
7
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UrlEncodedBodyParser = void 0;
4
- const utils_1 = require("../../utils");
5
- const core_1 = require("@sectester/core");
6
- class UrlEncodedBodyParser {
7
- constructor() {
8
- this.MIME_TYPE_REGEXP = /^application\/x-www-form-urlencoded\s*(;.*)?$/i;
9
- }
10
- canParse({ body, contentType }) {
11
- return ((0, core_1.isURLSearchParams)(body) ||
12
- ((0, core_1.isString)(body) && this.MIME_TYPE_REGEXP.test(contentType !== null && contentType !== void 0 ? contentType : '')));
13
- }
14
- parse({ body, contentType = 'application/x-www-form-urlencoded' }) {
15
- const text = (0, core_1.isURLSearchParams)(body) || (0, core_1.isString)(body) ? body.toString() : '';
16
- const params = (0, utils_1.entriesToList)(new URLSearchParams(text));
17
- return {
18
- text,
19
- params,
20
- contentType
21
- };
22
- }
23
- }
24
- exports.UrlEncodedBodyParser = UrlEncodedBodyParser;
25
- //# sourceMappingURL=UrlEncodedBodyParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UrlEncodedBodyParser.js","sourceRoot":"","sources":["../../../../../../packages/scan/src/target/body-parsers/UrlEncodedBodyParser.ts"],"names":[],"mappings":";;;AAEA,uCAA4C;AAC5C,0CAA8D;AAE9D,MAAa,oBAAoB;IAAjC;QACmB,qBAAgB,GAC/B,gDAAgD,CAAC;IAuBrD,CAAC;IArBQ,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAU;QAC3C,OAAO,CACL,IAAA,wBAAiB,EAAC,IAAI,CAAC;YACvB,CAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,EACX,IAAI,EACJ,WAAW,GAAG,mCAAmC,EAC1C;QACP,MAAM,IAAI,GACR,IAAA,wBAAiB,EAAC,IAAI,CAAC,IAAI,IAAA,eAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAExD,OAAO;YACL,IAAI;YACJ,MAAM;YACN,WAAW;SACZ,CAAC;IACJ,CAAC;CACF;AAzBD,oDAyBC"}
@@ -1,2 +0,0 @@
1
- import './register';
2
- export * from './BodyParser';
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- require("./register");
5
- tslib_1.__exportStar(require("./BodyParser"), exports);
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/scan/src/target/body-parsers/index.ts"],"names":[],"mappings":";;;AAAA,sBAAoB;AAEpB,uDAA6B"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const BinaryBodyParser_1 = require("./BinaryBodyParser");
4
- const FormDataBodyParser_1 = require("./FormDataBodyParser");
5
- const TextBodyParser_1 = require("./TextBodyParser");
6
- const UrlEncodedBodyParser_1 = require("./UrlEncodedBodyParser");
7
- const JsonBodyParser_1 = require("./JsonBodyParser");
8
- const BodyParser_1 = require("./BodyParser");
9
- const tsyringe_1 = require("tsyringe");
10
- tsyringe_1.container
11
- .register(BodyParser_1.BodyParser, {
12
- useClass: FormDataBodyParser_1.FormDataBodyParser
13
- })
14
- .register(BodyParser_1.BodyParser, {
15
- useClass: UrlEncodedBodyParser_1.UrlEncodedBodyParser
16
- })
17
- .register(BodyParser_1.BodyParser, {
18
- useClass: BinaryBodyParser_1.BinaryBodyParser
19
- })
20
- .register(BodyParser_1.BodyParser, {
21
- useClass: TextBodyParser_1.TextBodyParser
22
- })
23
- .register(BodyParser_1.BodyParser, {
24
- useClass: JsonBodyParser_1.JsonBodyParser
25
- });
26
- //# sourceMappingURL=register.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../../../packages/scan/src/target/body-parsers/register.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AACtD,6DAA0D;AAC1D,qDAAkD;AAClD,iEAA8D;AAC9D,qDAAkD;AAClD,6CAA0C;AAC1C,uCAAqC;AAErC,oBAAS;KACN,QAAQ,CAAC,uBAAU,EAAE;IACpB,QAAQ,EAAE,uCAAkB;CAC7B,CAAC;KACD,QAAQ,CAAC,uBAAU,EAAE;IACpB,QAAQ,EAAE,2CAAoB;CAC/B,CAAC;KACD,QAAQ,CAAC,uBAAU,EAAE;IACpB,QAAQ,EAAE,mCAAgB;CAC3B,CAAC;KACD,QAAQ,CAAC,uBAAU,EAAE;IACpB,QAAQ,EAAE,+BAAc;CACzB,CAAC;KACD,QAAQ,CAAC,uBAAU,EAAE;IACpB,QAAQ,EAAE,+BAAc;CACzB,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare const entriesToList: (val: Iterable<[string, string | string[]]>) => {
2
- name: string;
3
- value: string;
4
- }[];
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.entriesToList = void 0;
4
- const entriesToList = (val) => [...val]
5
- .map(([name, value]) => Array.isArray(value)
6
- ? value.map(item => ({ name, value: item }))
7
- : { name, value })
8
- .flat();
9
- exports.entriesToList = entriesToList;
10
- //# sourceMappingURL=entries-to-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entries-to-list.js","sourceRoot":"","sources":["../../../../../packages/scan/src/utils/entries-to-list.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAC3B,GAA0C,EACP,EAAE,CACrC,CAAC,GAAG,GAAG,CAAC;KACL,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAA8B,EAAE,EAAE,CAClD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CACpB;KACA,IAAI,EAAE,CAAC;AATC,QAAA,aAAa,iBASd"}