velocious 1.0.125 → 1.0.126
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/build/routes/built-in/errors/not-found.ejs +1 -0
- package/build/src/application.d.ts +7 -21
- package/build/src/application.d.ts.map +1 -1
- package/build/src/application.js +8 -22
- package/build/src/cli/base-command.d.ts +10 -4
- package/build/src/cli/base-command.d.ts.map +1 -1
- package/build/src/cli/base-command.js +12 -5
- package/build/src/cli/commands/routes.d.ts +5 -0
- package/build/src/cli/commands/routes.d.ts.map +1 -0
- package/build/src/cli/commands/routes.js +7 -0
- package/build/src/cli/index.d.ts +29 -6
- package/build/src/cli/index.d.ts.map +1 -1
- package/build/src/cli/index.js +18 -8
- package/build/src/configuration.d.ts +15 -36
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +16 -37
- package/build/src/environment-handlers/base.d.ts +6 -0
- package/build/src/environment-handlers/base.d.ts.map +1 -1
- package/build/src/environment-handlers/base.js +11 -2
- package/build/src/environment-handlers/node/cli/commands/routes.d.ts +14 -0
- package/build/src/environment-handlers/node/cli/commands/routes.d.ts.map +1 -0
- package/build/src/environment-handlers/node/cli/commands/routes.js +35 -0
- package/build/src/environment-handlers/node.d.ts +5 -0
- package/build/src/environment-handlers/node.d.ts.map +1 -1
- package/build/src/environment-handlers/node.js +9 -1
- package/build/src/http-server/client/params-to-object.d.ts +4 -1
- package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
- package/build/src/http-server/client/params-to-object.js +4 -1
- package/build/src/http-server/client/request-parser.d.ts +18 -11
- package/build/src/http-server/client/request-parser.d.ts.map +1 -1
- package/build/src/http-server/client/request-parser.js +14 -7
- package/build/src/http-server/client/request.d.ts +1 -1
- package/build/src/http-server/client/request.d.ts.map +1 -1
- package/build/src/http-server/index.d.ts +14 -8
- package/build/src/http-server/index.d.ts.map +1 -1
- package/build/src/http-server/index.js +13 -7
- package/build/src/http-server/server-client.d.ts +4 -4
- package/build/src/http-server/server-client.d.ts.map +1 -1
- package/build/src/http-server/server-client.js +4 -4
- package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/index.js +4 -2
- package/build/src/routes/base-route.d.ts +7 -0
- package/build/src/routes/base-route.d.ts.map +1 -1
- package/build/src/routes/base-route.js +8 -1
- package/build/src/routes/get-route.d.ts.map +1 -1
- package/build/src/routes/get-route.js +4 -1
- package/build/src/routes/namespace-route.d.ts.map +1 -1
- package/build/src/routes/namespace-route.js +4 -1
- package/build/src/routes/post-route.d.ts.map +1 -1
- package/build/src/routes/post-route.js +4 -1
- package/build/src/routes/resource-route.d.ts.map +1 -1
- package/build/src/routes/resource-route.js +4 -1
- package/build/src/routes/root-route.d.ts.map +1 -1
- package/build/src/routes/root-route.js +4 -1
- package/package.json +10 -4
|
@@ -11,6 +11,7 @@ export default class VelociousHttpServerClientRequestParser {
|
|
|
11
11
|
events: EventEmitter<[never]>;
|
|
12
12
|
params: {};
|
|
13
13
|
requestBuffer: RequestBuffer;
|
|
14
|
+
/** @returns {void} */
|
|
14
15
|
destroy(): void;
|
|
15
16
|
/**
|
|
16
17
|
* @param {import("./request-buffer/form-data-part.js").default} formDataPart
|
|
@@ -19,31 +20,37 @@ export default class VelociousHttpServerClientRequestParser {
|
|
|
19
20
|
onFormDataPart: (formDataPart: import("./request-buffer/form-data-part.js").default) => void;
|
|
20
21
|
/**
|
|
21
22
|
* @param {Buffer} data
|
|
23
|
+
* @returns {void}
|
|
22
24
|
*/
|
|
23
25
|
feed: (data: Buffer) => void;
|
|
24
26
|
/**
|
|
25
27
|
* @param {string} name
|
|
28
|
+
* @returns {string}
|
|
26
29
|
*/
|
|
27
30
|
getHeader(name: string): string;
|
|
31
|
+
/** @returns {Record<string, string>} */
|
|
28
32
|
getHeaders(): Record<string, string>;
|
|
29
|
-
/**
|
|
30
|
-
* @returns {string}
|
|
31
|
-
*/
|
|
33
|
+
/** @returns {string} */
|
|
32
34
|
getHttpMethod(): string;
|
|
33
|
-
/**
|
|
34
|
-
* @returns {string}
|
|
35
|
-
*/
|
|
35
|
+
/** @returns {string} */
|
|
36
36
|
getHttpVersion(): string;
|
|
37
|
+
/** @returns {{host: string, port: string, protocol: string} | null} */
|
|
37
38
|
_getHostMatch(): {
|
|
38
|
-
protocol: string;
|
|
39
39
|
host: string;
|
|
40
40
|
port: string;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
protocol: string;
|
|
42
|
+
} | null;
|
|
43
|
+
/** @returns {string | null} */
|
|
44
|
+
getHost(): string | null;
|
|
45
|
+
/** @returns {string} */
|
|
46
|
+
getPath(): string;
|
|
47
|
+
/** @returns {number} */
|
|
44
48
|
getPort(): number;
|
|
45
|
-
|
|
49
|
+
/** @returns {string | null} */
|
|
50
|
+
getProtocol(): string | null;
|
|
51
|
+
/** @returns {RequestBuffer} */
|
|
46
52
|
getRequestBuffer(): RequestBuffer;
|
|
53
|
+
/** @returns {void} */
|
|
47
54
|
requestDone: () => void;
|
|
48
55
|
state: string;
|
|
49
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-parser.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/request-parser.js"],"names":[],"mappings":"AAQA;IACE;;;OAGG;IACH,+BAFG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAClD,EAaA;IATC,wDAAkC;IAClC,YAAc;IACd,8BAAgC;IAChC,WAAgB;IAEhB,6BAAuD;IAMzD,
|
|
1
|
+
{"version":3,"file":"request-parser.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/request-parser.js"],"names":[],"mappings":"AAQA;IACE;;;OAGG;IACH,+BAFG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAClD,EAaA;IATC,wDAAkC;IAClC,YAAc;IACd,8BAAgC;IAChC,WAAgB;IAEhB,6BAAuD;IAMzD,sBAAsB;IACtB,WADc,IAAI,CAMjB;IAED;;;OAGG;IACH,iBAAkB,cAHP,OAAO,oCAAoC,EAAE,OAG1B,KAFjB,IAAI,CAYhB;IAED;;;OAGG;IACH,OAAQ,MAHG,MAGC,KAFC,IAAI,CAE6B;IAE9C;;;OAGG;IACH,gBAHW,MAAM,GACJ,MAAM,CAEiD;IAEpE,wCAAwC;IACxC,cADc,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACuB;IAE3D,wBAAwB;IACxB,iBADc,MAAM,CACgD;IAEpE,wBAAwB;IACxB,kBADc,MAAM,CACkD;IAEtE,uEAAuE;IACvE,iBADc;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAelE;IAED,+BAA+B;IAC/B,WADc,MAAM,GAAG,IAAI,CAK1B;IAED,wBAAwB;IACxB,WADc,MAAM,CACoC;IAExD,wBAAwB;IACxB,WADc,MAAM,CAYnB;IAED,+BAA+B;IAC/B,eADc,MAAM,GAAG,IAAI,CAC4B;IAEvD,+BAA+B;IAC/B,oBADc,aAAa,CACqB;IAEhD,sBAAsB;IACtB,mBADc,IAAI,CAMjB;IAFC,cAAmB;CAGtB;6BA3H0B,QAAQ;0BAGT,2BAA2B"}
|
|
@@ -21,6 +21,7 @@ export default class VelociousHttpServerClientRequestParser {
|
|
|
21
21
|
this.requestBuffer.events.on("form-data-part", this.onFormDataPart);
|
|
22
22
|
this.requestBuffer.events.on("request-done", this.requestDone);
|
|
23
23
|
}
|
|
24
|
+
/** @returns {void} */
|
|
24
25
|
destroy() {
|
|
25
26
|
this.requestBuffer.events.off("completed", this.requestDone);
|
|
26
27
|
this.requestBuffer.events.off("form-data-part", this.onFormDataPart);
|
|
@@ -41,21 +42,21 @@ export default class VelociousHttpServerClientRequestParser {
|
|
|
41
42
|
};
|
|
42
43
|
/**
|
|
43
44
|
* @param {Buffer} data
|
|
45
|
+
* @returns {void}
|
|
44
46
|
*/
|
|
45
47
|
feed = (data) => this.requestBuffer.feed(data);
|
|
46
48
|
/**
|
|
47
49
|
* @param {string} name
|
|
50
|
+
* @returns {string}
|
|
48
51
|
*/
|
|
49
52
|
getHeader(name) { return this.requestBuffer.getHeader(name)?.value; }
|
|
53
|
+
/** @returns {Record<string, string>} */
|
|
50
54
|
getHeaders() { return this.requestBuffer.getHeadersHash(); }
|
|
51
|
-
/**
|
|
52
|
-
* @returns {string}
|
|
53
|
-
*/
|
|
55
|
+
/** @returns {string} */
|
|
54
56
|
getHttpMethod() { return digg(this, "requestBuffer", "httpMethod"); }
|
|
55
|
-
/**
|
|
56
|
-
* @returns {string}
|
|
57
|
-
*/
|
|
57
|
+
/** @returns {string} */
|
|
58
58
|
getHttpVersion() { return digg(this, "requestBuffer", "httpVersion"); }
|
|
59
|
+
/** @returns {{host: string, port: string, protocol: string} | null} */
|
|
59
60
|
_getHostMatch() {
|
|
60
61
|
const rawHost = this.requestBuffer.getHeader("origin")?.value;
|
|
61
62
|
if (!rawHost)
|
|
@@ -69,12 +70,15 @@ export default class VelociousHttpServerClientRequestParser {
|
|
|
69
70
|
port: match[4]
|
|
70
71
|
};
|
|
71
72
|
}
|
|
73
|
+
/** @returns {string | null} */
|
|
72
74
|
getHost() {
|
|
73
75
|
const rawHostSplit = this.requestBuffer.getHeader("host")?.value?.split(":");
|
|
74
76
|
if (rawHostSplit && rawHostSplit[0])
|
|
75
77
|
return rawHostSplit[0];
|
|
76
78
|
}
|
|
79
|
+
/** @returns {string} */
|
|
77
80
|
getPath() { return digg(this, "requestBuffer", "path"); }
|
|
81
|
+
/** @returns {number} */
|
|
78
82
|
getPort() {
|
|
79
83
|
const rawHostSplit = this.requestBuffer.getHeader("host")?.value?.split(":");
|
|
80
84
|
const httpMethod = this.getHttpMethod();
|
|
@@ -88,12 +92,15 @@ export default class VelociousHttpServerClientRequestParser {
|
|
|
88
92
|
return 443;
|
|
89
93
|
}
|
|
90
94
|
}
|
|
95
|
+
/** @returns {string | null} */
|
|
91
96
|
getProtocol() { return this._getHostMatch()?.protocol; }
|
|
97
|
+
/** @returns {RequestBuffer} */
|
|
92
98
|
getRequestBuffer() { return this.requestBuffer; }
|
|
99
|
+
/** @returns {void} */
|
|
93
100
|
requestDone = () => {
|
|
94
101
|
incorporate(this.params, this.requestBuffer.params);
|
|
95
102
|
this.state = "done";
|
|
96
103
|
this.events.emit("done");
|
|
97
104
|
};
|
|
98
105
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QtcGFyc2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxRQUFRLENBQUE7QUFDbkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN4QyxPQUFPLGNBQWMsTUFBTSx1QkFBdUIsQ0FBQTtBQUNsRCxPQUFPLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQTtBQUVyRCxNQUFNLENBQUMsT0FBTyxPQUFPLHNDQUFzQztJQUN6RDs7O09BR0c7SUFDSCxZQUFZLEVBQUMsYUFBYSxFQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBRTdELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFBO1FBRWhCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsRUFBQyxhQUFhLEVBQUMsQ0FBQyxDQUFBO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQzNELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDbkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDaEUsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixPQUFPO1FBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUNwRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUMvRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBRTtRQUNoQyxxQ0FBcUM7UUFDckMsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFBO1FBRTFCLGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUE7UUFFakUsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDMUQsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBRTNDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3JDLENBQUMsQ0FBQTtJQUVEOzs7T0FHRztJQUNILElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFOUM7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFFcEUsd0NBQXdDO0lBQ3hDLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBRTNELHdCQUF3QjtJQUN4QixhQUFhLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFcEUsd0JBQXdCO0lBQ3hCLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUV0RSx1RUFBdUU7SUFDdkUsYUFBYTtRQUNYLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQTtRQUU3RCxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sSUFBSSxDQUFBO1FBRXpCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtRQUV0RCxJQUFJLENBQUMsS0FBSztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFFOUQsT0FBTztZQUNMLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2QsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDZixDQUFBO0lBQ0gsQ0FBQztJQUVELCtCQUErQjtJQUMvQixPQUFPO1FBQ0wsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUU1RSxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQUUsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDN0QsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFeEQsd0JBQXdCO0lBQ3hCLE9BQU87UUFDTCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzVFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUV2QyxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxDQUFDO2FBQU0sSUFBSSxVQUFVLElBQUksTUFBTSxFQUFFLENBQUM7WUFDaEMsT0FBTyxFQUFFLENBQUE7UUFDWCxDQUFDO2FBQU0sSUFBSSxVQUFVLElBQUksT0FBTyxFQUFFLENBQUM7WUFDakMsT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDO0lBQ0gsQ0FBQztJQUVELCtCQUErQjtJQUMvQixXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsUUFBUSxDQUFBLENBQUMsQ0FBQztJQUV2RCwrQkFBK0I7SUFDL0IsZ0JBQWdCLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFBLENBQUMsQ0FBQztJQUVoRCxzQkFBc0I7SUFDdEIsV0FBVyxHQUFHLEdBQUcsRUFBRTtRQUNqQixXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRW5ELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFBO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzFCLENBQUMsQ0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSBcImV2ZW50c1wiXG5pbXBvcnQge2luY29ycG9yYXRlfSBmcm9tIFwiaW5jb3Jwb3JhdG9yXCJcbmltcG9ydCBQYXJhbXNUb09iamVjdCBmcm9tIFwiLi9wYXJhbXMtdG8tb2JqZWN0LmpzXCJcbmltcG9ydCBSZXF1ZXN0QnVmZmVyIGZyb20gXCIuL3JlcXVlc3QtYnVmZmVyL2luZGV4LmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzSHR0cFNlcnZlckNsaWVudFJlcXVlc3RQYXJzZXIge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi8uLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvblxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb259KSB7XG4gICAgaWYgKCFjb25maWd1cmF0aW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjb25maWd1cmF0aW9uIGdpdmVuXCIpXG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5kYXRhID0gW11cbiAgICB0aGlzLmV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICAgIHRoaXMucGFyYW1zID0ge31cblxuICAgIHRoaXMucmVxdWVzdEJ1ZmZlciA9IG5ldyBSZXF1ZXN0QnVmZmVyKHtjb25maWd1cmF0aW9ufSlcbiAgICB0aGlzLnJlcXVlc3RCdWZmZXIuZXZlbnRzLm9uKFwiY29tcGxldGVkXCIsIHRoaXMucmVxdWVzdERvbmUpXG4gICAgdGhpcy5yZXF1ZXN0QnVmZmVyLmV2ZW50cy5vbihcImZvcm0tZGF0YS1wYXJ0XCIsIHRoaXMub25Gb3JtRGF0YVBhcnQpXG4gICAgdGhpcy5yZXF1ZXN0QnVmZmVyLmV2ZW50cy5vbihcInJlcXVlc3QtZG9uZVwiLCB0aGlzLnJlcXVlc3REb25lKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBkZXN0cm95KCkge1xuICAgIHRoaXMucmVxdWVzdEJ1ZmZlci5ldmVudHMub2ZmKFwiY29tcGxldGVkXCIsIHRoaXMucmVxdWVzdERvbmUpXG4gICAgdGhpcy5yZXF1ZXN0QnVmZmVyLmV2ZW50cy5vZmYoXCJmb3JtLWRhdGEtcGFydFwiLCB0aGlzLm9uRm9ybURhdGFQYXJ0KVxuICAgIHRoaXMucmVxdWVzdEJ1ZmZlci5ldmVudHMub2ZmKFwicmVxdWVzdC1kb25lXCIsIHRoaXMucmVxdWVzdERvbmUpXG4gICAgdGhpcy5yZXF1ZXN0QnVmZmVyLmRlc3Ryb3koKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9yZXF1ZXN0LWJ1ZmZlci9mb3JtLWRhdGEtcGFydC5qc1wiKS5kZWZhdWx0fSBmb3JtRGF0YVBhcnRcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBvbkZvcm1EYXRhUGFydCA9IChmb3JtRGF0YVBhcnQpID0+IHtcbiAgICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZz59ICovXG4gICAgY29uc3QgdW5vcmRlcmVkUGFyYW1zID0ge31cblxuICAgIHVub3JkZXJlZFBhcmFtc1tmb3JtRGF0YVBhcnQuZ2V0TmFtZSgpXSA9IGZvcm1EYXRhUGFydC5nZXRWYWx1ZSgpXG5cbiAgICBjb25zdCBwYXJhbXNUb09iamVjdCA9IG5ldyBQYXJhbXNUb09iamVjdCh1bm9yZGVyZWRQYXJhbXMpXG4gICAgY29uc3QgbmV3UGFyYW1zID0gcGFyYW1zVG9PYmplY3QudG9PYmplY3QoKVxuXG4gICAgaW5jb3Jwb3JhdGUodGhpcy5wYXJhbXMsIG5ld1BhcmFtcylcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gZGF0YVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGZlZWQgPSAoZGF0YSkgPT4gdGhpcy5yZXF1ZXN0QnVmZmVyLmZlZWQoZGF0YSlcblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIGdldEhlYWRlcihuYW1lKSB7IHJldHVybiB0aGlzLnJlcXVlc3RCdWZmZXIuZ2V0SGVhZGVyKG5hbWUpPy52YWx1ZSB9XG5cbiAgLyoqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSAqL1xuICBnZXRIZWFkZXJzKCkgeyByZXR1cm4gdGhpcy5yZXF1ZXN0QnVmZmVyLmdldEhlYWRlcnNIYXNoKCkgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBnZXRIdHRwTWV0aG9kKCkgeyByZXR1cm4gZGlnZyh0aGlzLCBcInJlcXVlc3RCdWZmZXJcIiwgXCJodHRwTWV0aG9kXCIpIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgZ2V0SHR0cFZlcnNpb24oKSB7IHJldHVybiBkaWdnKHRoaXMsIFwicmVxdWVzdEJ1ZmZlclwiLCBcImh0dHBWZXJzaW9uXCIpIH1cblxuICAvKiogQHJldHVybnMge3tob3N0OiBzdHJpbmcsIHBvcnQ6IHN0cmluZywgcHJvdG9jb2w6IHN0cmluZ30gfCBudWxsfSAqL1xuICBfZ2V0SG9zdE1hdGNoKCkge1xuICAgIGNvbnN0IHJhd0hvc3QgPSB0aGlzLnJlcXVlc3RCdWZmZXIuZ2V0SGVhZGVyKFwib3JpZ2luXCIpPy52YWx1ZVxuXG4gICAgaWYgKCFyYXdIb3N0KSByZXR1cm4gbnVsbFxuXG4gICAgY29uc3QgbWF0Y2ggPSByYXdIb3N0Lm1hdGNoKC9eKC4rKTpcXC9cXC8oLispKHw6KFxcZCspKS8pXG5cbiAgICBpZiAoIW1hdGNoKSB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IG1hdGNoIGhvc3Q6ICR7cmF3SG9zdH1gKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3RvY29sOiBtYXRjaFsxXSxcbiAgICAgIGhvc3Q6IG1hdGNoWzJdLFxuICAgICAgcG9ydDogbWF0Y2hbNF1cbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZyB8IG51bGx9ICovXG4gIGdldEhvc3QoKSB7XG4gICAgY29uc3QgcmF3SG9zdFNwbGl0ID0gdGhpcy5yZXF1ZXN0QnVmZmVyLmdldEhlYWRlcihcImhvc3RcIik/LnZhbHVlPy5zcGxpdChcIjpcIilcblxuICAgIGlmIChyYXdIb3N0U3BsaXQgJiYgcmF3SG9zdFNwbGl0WzBdKSByZXR1cm4gcmF3SG9zdFNwbGl0WzBdXG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgZ2V0UGF0aCgpIHsgcmV0dXJuIGRpZ2codGhpcywgXCJyZXF1ZXN0QnVmZmVyXCIsIFwicGF0aFwiKSB9XG5cbiAgLyoqIEByZXR1cm5zIHtudW1iZXJ9ICovXG4gIGdldFBvcnQoKSB7XG4gICAgY29uc3QgcmF3SG9zdFNwbGl0ID0gdGhpcy5yZXF1ZXN0QnVmZmVyLmdldEhlYWRlcihcImhvc3RcIik/LnZhbHVlPy5zcGxpdChcIjpcIilcbiAgICBjb25zdCBodHRwTWV0aG9kID0gdGhpcy5nZXRIdHRwTWV0aG9kKClcblxuICAgIGlmIChyYXdIb3N0U3BsaXQgJiYgcmF3SG9zdFNwbGl0WzFdKSB7XG4gICAgICByZXR1cm4gcGFyc2VJbnQocmF3SG9zdFNwbGl0WzFdKVxuICAgIH0gZWxzZSBpZiAoaHR0cE1ldGhvZCA9PSBcImh0dHBcIikge1xuICAgICAgcmV0dXJuIDgwXG4gICAgfSBlbHNlIGlmIChodHRwTWV0aG9kID09IFwiaHR0cHNcIikge1xuICAgICAgcmV0dXJuIDQ0M1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nIHwgbnVsbH0gKi9cbiAgZ2V0UHJvdG9jb2woKSB7IHJldHVybiB0aGlzLl9nZXRIb3N0TWF0Y2goKT8ucHJvdG9jb2wgfVxuXG4gIC8qKiBAcmV0dXJucyB7UmVxdWVzdEJ1ZmZlcn0gKi9cbiAgZ2V0UmVxdWVzdEJ1ZmZlcigpIHsgcmV0dXJuIHRoaXMucmVxdWVzdEJ1ZmZlciB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICByZXF1ZXN0RG9uZSA9ICgpID0+IHtcbiAgICBpbmNvcnBvcmF0ZSh0aGlzLnBhcmFtcywgdGhpcy5yZXF1ZXN0QnVmZmVyLnBhcmFtcylcblxuICAgIHRoaXMuc3RhdGUgPSBcImRvbmVcIlxuICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJkb25lXCIpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/request.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,oDAHG;QAA2C,MAAM,EAAzC,OAAO,YAAY,EAAE,OAAO;QACmB,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAClD,EAOA;IAHC,qCAAoB;IACpB,wDAAkC;IAClC,6BAAuD;IAGzD,kBAAkE;IAElE;;;OAGG;IACH,WAHW,MAAM,GACJ,IAAI,CAEkC;IAEnD;;;OAGG;IACH,mBAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAE6D;IACvF,kCAA6D;IAC7D,qBAA0D;IAC1D,sBAA4D;IAC5D,eAA8C;IAE9C,uBAcC;IAED,iBAAyC;IACzC,
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/http-server/client/request.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,oDAHG;QAA2C,MAAM,EAAzC,OAAO,YAAY,EAAE,OAAO;QACmB,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;KAClD,EAOA;IAHC,qCAAoB;IACpB,wDAAkC;IAClC,6BAAuD;IAGzD,kBAAkE;IAElE;;;OAGG;IACH,WAHW,MAAM,GACJ,IAAI,CAEkC;IAEnD;;;OAGG;IACH,mBAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAE6D;IACvF,kCAA6D;IAC7D,qBAA0D;IAC1D,sBAA4D;IAC5D,eAA8C;IAE9C,uBAcC;IAED,iBAAyC;IACzC,eAA8C;IAC9C,cAAyD;IACzD,eAA8C;IAC9C,mBAAsD;IAEtD,gEAAwE;IACxE,kCAAgD;CACjD;0BA3DyB,qBAAqB"}
|
|
@@ -24,30 +24,36 @@ export default class VelociousHttpServer {
|
|
|
24
24
|
host: string;
|
|
25
25
|
port: number;
|
|
26
26
|
maxWorkers: number;
|
|
27
|
-
/**
|
|
28
|
-
* @returns {Promise<void>}
|
|
29
|
-
*/
|
|
27
|
+
/** @returns {Promise<void>} */
|
|
30
28
|
start(): Promise<void>;
|
|
31
29
|
netServer: Net.Server;
|
|
32
|
-
|
|
30
|
+
/** @returns {Promise<void>} */
|
|
31
|
+
_netServerListen(): Promise<void>;
|
|
32
|
+
/** @returns {Promise<void>} */
|
|
33
33
|
_ensureAtLeastOneWorker(): Promise<void>;
|
|
34
|
-
/**
|
|
35
|
-
* @returns {boolean}
|
|
36
|
-
*/
|
|
34
|
+
/** @returns {boolean} */
|
|
37
35
|
isActive(): boolean;
|
|
36
|
+
/** @returns {Promise<void>} */
|
|
38
37
|
stopClients(): Promise<void>;
|
|
39
|
-
|
|
38
|
+
/** @returns {Promise<void>} */
|
|
39
|
+
stopServer(): Promise<void>;
|
|
40
|
+
/** @returns {Promise<void>} */
|
|
40
41
|
stop(): Promise<void>;
|
|
42
|
+
/** @returns {void} */
|
|
41
43
|
onClose: () => void;
|
|
42
44
|
/**
|
|
43
45
|
* @param {import("net").Socket} socket
|
|
46
|
+
* @returns {void}
|
|
44
47
|
*/
|
|
45
48
|
onConnection: (socket: import("net").Socket) => void;
|
|
46
49
|
/**
|
|
47
50
|
* @param {ServerClient} client
|
|
51
|
+
* @returns {void}
|
|
48
52
|
*/
|
|
49
53
|
onClientClose: (client: ServerClient) => void;
|
|
54
|
+
/** @returns {Promise<void>} */
|
|
50
55
|
spawnWorker(): Promise<void>;
|
|
56
|
+
/** @returns {WorkerHandler} */
|
|
51
57
|
workerHandlerToUse(): WorkerHandler;
|
|
52
58
|
}
|
|
53
59
|
import ServerClient from "./server-client.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http-server/index.js"],"names":[],"mappings":"AASA;IAYE;;;;;;OAMG;IACH,uDALG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACvB,IAAI,GAAlB,MAAM;QACQ,IAAI,GAAlB,MAAM;QACQ,UAAU,GAAxB,MAAM;KAAmB,EAQnC;IAxBD,oBAAe;IAEf,4CAA4C;IAC5C,SADW,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAC3B;IAEZ,8BAA2B;IAC3B,oBAAe;IAEf,8BAA8B;IAC9B,gBADW,aAAa,EAAE,CACP;IAUjB,qDAAkC;IAClC,eAA8B;IAC9B,aAA6B;IAC7B,aAAwB;IACxB,mBAAkC;IAGpC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http-server/index.js"],"names":[],"mappings":"AASA;IAYE;;;;;;OAMG;IACH,uDALG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACvB,IAAI,GAAlB,MAAM;QACQ,IAAI,GAAlB,MAAM;QACQ,UAAU,GAAxB,MAAM;KAAmB,EAQnC;IAxBD,oBAAe;IAEf,4CAA4C;IAC5C,SADW,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAC3B;IAEZ,8BAA2B;IAC3B,oBAAe;IAEf,8BAA8B;IAC9B,gBADW,aAAa,EAAE,CACP;IAUjB,qDAAkC;IAClC,eAA8B;IAC9B,aAA6B;IAC7B,aAAwB;IACxB,mBAAkC;IAGpC,+BAA+B;IAC/B,SADc,OAAO,CAAC,IAAI,CAAC,CAO1B;IAJC,sBAAiC;IAMnC,+BAA+B;IAC/B,oBADc,OAAO,CAAC,IAAI,CAAC,CAc1B;IAED,+BAA+B;IAC/B,2BADc,OAAO,CAAC,IAAI,CAAC,CAK1B;IAED,yBAAyB;IACzB,YADc,OAAO,CAOpB;IAED,+BAA+B;IAC/B,eADc,OAAO,CAAC,IAAI,CAAC,CAW1B;IAED,+BAA+B;IAC/B,cADc,OAAO,CAAC,IAAI,CAAC,CAa1B;IAED,+BAA+B;IAC/B,QADc,OAAO,CAAC,IAAI,CAAC,CAI1B;IAED,sBAAsB;IACtB,eADc,IAAI,CAGjB;IAED;;;OAGG;IACH,eAAgB,QAHL,OAAO,KAAK,EAAE,MAGH,KAFT,IAAI,CAoBhB;IAED;;;OAGG;IACH,gBAAiB,QAHN,YAGY,KAFV,IAAI,CAahB;IAED,+BAA+B;IAC/B,eADc,OAAO,CAAC,IAAI,CAAC,CAa1B;IAED,+BAA+B;IAC/B,sBADc,aAAa,CAY1B;CACF;yBAnLwB,oBAAoB;yBAHpB,QAAQ;0BAIP,2BAA2B;uBAHhC,cAAc;gBACnB,KAAK"}
|
|
@@ -27,9 +27,7 @@ export default class VelociousHttpServer {
|
|
|
27
27
|
this.port = port || 3006;
|
|
28
28
|
this.maxWorkers = maxWorkers || 16;
|
|
29
29
|
}
|
|
30
|
-
/**
|
|
31
|
-
* @returns {Promise<void>}
|
|
32
|
-
*/
|
|
30
|
+
/** @returns {Promise<void>} */
|
|
33
31
|
async start() {
|
|
34
32
|
await this._ensureAtLeastOneWorker();
|
|
35
33
|
this.netServer = new Net.Server();
|
|
@@ -37,6 +35,7 @@ export default class VelociousHttpServer {
|
|
|
37
35
|
this.netServer.on("connection", this.onConnection);
|
|
38
36
|
await this._netServerListen();
|
|
39
37
|
}
|
|
38
|
+
/** @returns {Promise<void>} */
|
|
40
39
|
_netServerListen() {
|
|
41
40
|
return new Promise((resolve, reject) => {
|
|
42
41
|
if (!this.netServer)
|
|
@@ -52,20 +51,20 @@ export default class VelociousHttpServer {
|
|
|
52
51
|
}
|
|
53
52
|
});
|
|
54
53
|
}
|
|
54
|
+
/** @returns {Promise<void>} */
|
|
55
55
|
async _ensureAtLeastOneWorker() {
|
|
56
56
|
if (this.workerHandlers.length == 0) {
|
|
57
57
|
await this.spawnWorker();
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
/**
|
|
61
|
-
* @returns {boolean}
|
|
62
|
-
*/
|
|
60
|
+
/** @returns {boolean} */
|
|
63
61
|
isActive() {
|
|
64
62
|
if (this.netServer) {
|
|
65
63
|
return this.netServer.listening;
|
|
66
64
|
}
|
|
67
65
|
return false;
|
|
68
66
|
}
|
|
67
|
+
/** @returns {Promise<void>} */
|
|
69
68
|
async stopClients() {
|
|
70
69
|
const promises = [];
|
|
71
70
|
for (const clientCount in this.clients) {
|
|
@@ -74,6 +73,7 @@ export default class VelociousHttpServer {
|
|
|
74
73
|
}
|
|
75
74
|
await Promise.all(promises);
|
|
76
75
|
}
|
|
76
|
+
/** @returns {Promise<void>} */
|
|
77
77
|
stopServer() {
|
|
78
78
|
return new Promise((resolve, reject) => {
|
|
79
79
|
if (!this.netServer)
|
|
@@ -88,15 +88,18 @@ export default class VelociousHttpServer {
|
|
|
88
88
|
});
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
|
+
/** @returns {Promise<void>} */
|
|
91
92
|
async stop() {
|
|
92
93
|
await this.stopClients();
|
|
93
94
|
await this.stopServer();
|
|
94
95
|
}
|
|
96
|
+
/** @returns {void} */
|
|
95
97
|
onClose = () => {
|
|
96
98
|
this.events.emit("close");
|
|
97
99
|
};
|
|
98
100
|
/**
|
|
99
101
|
* @param {import("net").Socket} socket
|
|
102
|
+
* @returns {void}
|
|
100
103
|
*/
|
|
101
104
|
onConnection = (socket) => {
|
|
102
105
|
const clientCount = this.clientCount;
|
|
@@ -115,6 +118,7 @@ export default class VelociousHttpServer {
|
|
|
115
118
|
};
|
|
116
119
|
/**
|
|
117
120
|
* @param {ServerClient} client
|
|
121
|
+
* @returns {void}
|
|
118
122
|
*/
|
|
119
123
|
onClientClose = (client) => {
|
|
120
124
|
const clientCount = digg(client, "clientCount");
|
|
@@ -125,6 +129,7 @@ export default class VelociousHttpServer {
|
|
|
125
129
|
console.error(`Expected client to have been removed but length didn't change from ${oldClientsLength} to ${oldClientsLength - 1}`);
|
|
126
130
|
}
|
|
127
131
|
};
|
|
132
|
+
/** @returns {Promise<void>} */
|
|
128
133
|
async spawnWorker() {
|
|
129
134
|
const workerCount = this.workerCount;
|
|
130
135
|
this.workerCount++;
|
|
@@ -135,6 +140,7 @@ export default class VelociousHttpServer {
|
|
|
135
140
|
await workerHandler.start();
|
|
136
141
|
this.workerHandlers.push(workerHandler);
|
|
137
142
|
}
|
|
143
|
+
/** @returns {WorkerHandler} */
|
|
138
144
|
workerHandlerToUse() {
|
|
139
145
|
this.logger.debug(`Worker handlers length: ${this.workerHandlers.length}`);
|
|
140
146
|
const randomWorkerNumber = Math.floor(Math.random() * this.workerHandlers.length);
|
|
@@ -145,4 +151,4 @@ export default class VelociousHttpServer {
|
|
|
145
151
|
return workerHandler;
|
|
146
152
|
}
|
|
147
153
|
}
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxZQUFZLE1BQU0sUUFBUSxDQUFBO0FBQ2pDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDbkMsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFBO0FBQ3JCLE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFBO0FBQzdDLE9BQU8sYUFBYSxNQUFNLDJCQUEyQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxPQUFPLE9BQU8sbUJBQW1CO0lBQ3RDLFdBQVcsR0FBRyxDQUFDLENBQUE7SUFFZiw0Q0FBNEM7SUFDNUMsT0FBTyxHQUFHLEVBQUUsQ0FBQTtJQUVaLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBQzNCLFdBQVcsR0FBRyxDQUFDLENBQUE7SUFFZiw4QkFBOEI7SUFDOUIsY0FBYyxHQUFHLEVBQUUsQ0FBQTtJQUVuQjs7Ozs7O09BTUc7SUFDSCxZQUFZLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDO1FBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksU0FBUyxDQUFBO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQTtRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxFQUFFLENBQUE7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLElBQUksQ0FBQyx1QkFB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cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gXCJldmVudHNcIlxuaW1wb3J0IHtMb2dnZXJ9IGZyb20gXCIuLi9sb2dnZXIuanNcIlxuaW1wb3J0IE5ldCBmcm9tIFwibmV0XCJcbmltcG9ydCBTZXJ2ZXJDbGllbnQgZnJvbSBcIi4vc2VydmVyLWNsaWVudC5qc1wiXG5pbXBvcnQgV29ya2VySGFuZGxlciBmcm9tIFwiLi93b3JrZXItaGFuZGxlci9pbmRleC5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0h0dHBTZXJ2ZXIge1xuICBjbGllbnRDb3VudCA9IDBcblxuICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIFNlcnZlckNsaWVudD59ICAqL1xuICBjbGllbnRzID0ge31cblxuICBldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgd29ya2VyQ291bnQgPSAwXG5cbiAgLyoqIEB0eXBlIHtXb3JrZXJIYW5kbGVyW119ICovXG4gIHdvcmtlckhhbmRsZXJzID0gW11cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuaG9zdF1cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLnBvcnRdXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5tYXhXb3JrZXJzXVxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb24sIGhvc3QsIG1heFdvcmtlcnMsIHBvcnR9KSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvblxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzKVxuICAgIHRoaXMuaG9zdCA9IGhvc3QgfHwgXCIwLjAuMC4wXCJcbiAgICB0aGlzLnBvcnQgPSBwb3J0IHx8IDMwMDZcbiAgICB0aGlzLm1heFdvcmtlcnMgPSBtYXhXb3JrZXJzIHx8IDE2XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBzdGFydCgpIHtcbiAgICBhd2FpdCB0aGlzLl9lbnN1cmVBdExlYXN0T25lV29ya2VyKClcbiAgICB0aGlzLm5ldFNlcnZlciA9IG5ldyBOZXQuU2VydmVyKClcbiAgICB0aGlzLm5ldFNlcnZlci5vbihcImNsb3NlXCIsIHRoaXMub25DbG9zZSlcbiAgICB0aGlzLm5ldFNlcnZlci5vbihcImNvbm5lY3Rpb25cIiwgdGhpcy5vbkNvbm5lY3Rpb24pXG4gICAgYXdhaXQgdGhpcy5fbmV0U2VydmVyTGlzdGVuKClcbiAgfVxuXG4gIF9uZXRTZXJ2ZXJMaXN0ZW4oKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmICghdGhpcy5uZXRTZXJ2ZXIpIHRocm93IG5ldyBFcnJvcihcIk5vIG5ldFNlcnZlclwiKVxuXG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLm5ldFNlcnZlci5saXN0ZW4odGhpcy5wb3J0LCB0aGlzLmhvc3QsICgpID0+IHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgVmVsb2Npb3VzIGxpc3RlbmluZyBvbiAke3RoaXMuaG9zdH06JHt0aGlzLnBvcnR9YClcbiAgICAgICAgICByZXNvbHZlKG51bGwpXG4gICAgICAgIH0pXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZWplY3QoZXJyb3IpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIF9lbnN1cmVBdExlYXN0T25lV29ya2VyKCkge1xuICAgIGlmICh0aGlzLndvcmtlckhhbmRsZXJzLmxlbmd0aCA9PSAwKSB7XG4gICAgICBhd2FpdCB0aGlzLnNwYXduV29ya2VyKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBpc0FjdGl2ZSgpIHtcbiAgICBpZiAodGhpcy5uZXRTZXJ2ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLm5ldFNlcnZlci5saXN0ZW5pbmdcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGFzeW5jIHN0b3BDbGllbnRzKCkge1xuICAgIGNvbnN0IHByb21pc2VzID0gW11cblxuICAgIGZvciAoY29uc3QgY2xpZW50Q291bnQgaW4gdGhpcy5jbGllbnRzKSB7XG4gICAgICBjb25zdCBjbGllbnQgPSB0aGlzLmNsaWVudHNbY2xpZW50Q291bnRdXG5cbiAgICAgIHByb21pc2VzLnB1c2goY2xpZW50LmVuZCgpKVxuICAgIH1cblxuICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICB9XG5cbiAgc3RvcFNlcnZlcigpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLm5ldFNlcnZlcikgdGhyb3cgbmV3IEVycm9yKFwiTm8gbmV0U2VydmVyIHRvIHN0b3BcIilcblxuICAgICAgdGhpcy5uZXRTZXJ2ZXIuY2xvc2UoKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNvbHZlKG51bGwpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIHN0b3AoKSB7XG4gICAgYXdhaXQgdGhpcy5zdG9wQ2xpZW50cygpXG4gICAgYXdhaXQgdGhpcy5zdG9wU2VydmVyKClcbiAgfVxuXG4gIG9uQ2xvc2UgPSAoKSA9PiB7XG4gICAgdGhpcy5ldmVudHMuZW1pdChcImNsb3NlXCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCJuZXRcIikuU29ja2V0fSBzb2NrZXRcbiAgICovXG4gIG9uQ29ubmVjdGlvbiA9IChzb2NrZXQpID0+IHtcbiAgICBjb25zdCBjbGllbnRDb3VudCA9IHRoaXMuY2xpZW50Q291bnRcblxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBOZXcgY2xpZW50ICR7Y2xpZW50Q291bnR9YClcbiAgICB0aGlzLmNsaWVudENvdW50KytcblxuICAgIGNvbnN0IHdvcmtlckhhbmRsZXIgPSB0aGlzLndvcmtlckhhbmRsZXJUb1VzZSgpXG4gICAgY29uc3QgY2xpZW50ID0gbmV3IFNlcnZlckNsaWVudCh7XG4gICAgICBjbGllbnRDb3VudCxcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgIHNvY2tldFxuICAgIH0pXG5cbiAgICBjbGllbnQuZXZlbnRzLm9uKFwiY2xvc2VcIiwgdGhpcy5vbkNsaWVudENsb3NlKVxuXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYEdhdmUgY2xpZW50ICR7Y2xpZW50Q291bnR9IHRvIHdvcmtlciAke3dvcmtlckhhbmRsZXIud29ya2VyQ291bnR9YClcbiAgICB3b3JrZXJIYW5kbGVyLmFkZFNvY2tldENvbm5lY3Rpb24oY2xpZW50KVxuICAgIHRoaXMuY2xpZW50c1tjbGllbnRDb3VudF0gPSBjbGllbnRcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1NlcnZlckNsaWVudH0gY2xpZW50XG4gICAqL1xuICBvbkNsaWVudENsb3NlID0gKGNsaWVudCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudENvdW50ID0gZGlnZyhjbGllbnQsIFwiY2xpZW50Q291bnRcIilcbiAgICBjb25zdCBvbGRDbGllbnRzTGVuZ3RoID0gT2JqZWN0LmtleXModGhpcy5jbGllbnRzKS5sZW5ndGhcblxuICAgIGRlbGV0ZSB0aGlzLmNsaWVudHNbY2xpZW50Q291bnRdXG5cbiAgICBjb25zdCBuZXdDbGllbnRzTGVuZ3RoID0gT2JqZWN0LmtleXModGhpcy5jbGllbnRzKS5sZW5ndGhcblxuICAgIGlmIChuZXdDbGllbnRzTGVuZ3RoICE9IChvbGRDbGllbnRzTGVuZ3RoIC0gMSkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEV4cGVjdGVkIGNsaWVudCB0byBoYXZlIGJlZW4gcmVtb3ZlZCBidXQgbGVuZ3RoIGRpZG4ndCBjaGFuZ2UgZnJvbSAke29sZENsaWVudHNMZW5ndGh9IHRvICR7b2xkQ2xpZW50c0xlbmd0aCAtIDF9YClcbiAgICB9XG4gIH1cblxuICBhc3luYyBzcGF3bldvcmtlcigpIHtcbiAgICBjb25zdCB3b3JrZXJDb3VudCA9IHRoaXMud29ya2VyQ291bnRcblxuICAgIHRoaXMud29ya2VyQ291bnQrK1xuXG4gICAgY29uc3Qgd29ya2VySGFuZGxlciA9IG5ldyBXb3JrZXJIYW5kbGVyKHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgIHdvcmtlckNvdW50XG4gICAgfSlcblxuICAgIGF3YWl0IHdvcmtlckhhbmRsZXIuc3RhcnQoKVxuICAgIHRoaXMud29ya2VySGFuZGxlcnMucHVzaCh3b3JrZXJIYW5kbGVyKVxuICB9XG5cbiAgd29ya2VySGFuZGxlclRvVXNlKCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBXb3JrZXIgaGFuZGxlcnMgbGVuZ3RoOiAke3RoaXMud29ya2VySGFuZGxlcnMubGVuZ3RofWApXG5cbiAgICBjb25zdCByYW5kb21Xb3JrZXJOdW1iZXIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiB0aGlzLndvcmtlckhhbmRsZXJzLmxlbmd0aClcbiAgICBjb25zdCB3b3JrZXJIYW5kbGVyID0gdGhpcy53b3JrZXJIYW5kbGVyc1tyYW5kb21Xb3JrZXJOdW1iZXJdXG5cbiAgICBpZiAoIXdvcmtlckhhbmRsZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gd29ya2VySGFuZGxlciBieSB0aGF0IG51bWJlcjogJHtyYW5kb21Xb3JrZXJOdW1iZXJ9YClcbiAgICB9XG5cbiAgICByZXR1cm4gd29ya2VySGFuZGxlclxuICB9XG59XG4iXX0=
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxZQUFZLE1BQU0sUUFBUSxDQUFBO0FBQ2pDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDbkMsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFBO0FBQ3JCLE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFBO0FBQzdDLE9BQU8sYUFBYSxNQUFNLDJCQUEyQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxPQUFPLE9BQU8sbUJBQW1CO0lBQ3RDLFdBQVcsR0FBRyxDQUFDLENBQUE7SUFFZiw0Q0FBNEM7SUFDNUMsT0FBTyxHQUFHLEVBQUUsQ0FBQTtJQUVaLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBQzNCLFdBQVcsR0FBRyxDQUFDLENBQUE7SUFFZiw4QkFBOEI7SUFDOUIsY0FBYyxHQUFHLEVBQUUsQ0FBQTtJQUVuQjs7Ozs7O09BTUc7SUFDSCxZQUFZLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDO1FBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksU0FBUyxDQUFBO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQTtRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxFQUFFLENBQUE7SUFDcEMsQ0FBQztJQUVELCtCQUErQjtJQUMvQixLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sSUFBSSxDQUFDLHVC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QUM7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0Msa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO1FBQzNFLENBQUM7UUFFRCxPQUFPLGFBQWEsQ0FBQTtJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSBcImV2ZW50c1wiXG5pbXBvcnQge0xvZ2dlcn0gZnJvbSBcIi4uL2xvZ2dlci5qc1wiXG5pbXBvcnQgTmV0IGZyb20gXCJuZXRcIlxuaW1wb3J0IFNlcnZlckNsaWVudCBmcm9tIFwiLi9zZXJ2ZXItY2xpZW50LmpzXCJcbmltcG9ydCBXb3JrZXJIYW5kbGVyIGZyb20gXCIuL3dvcmtlci1oYW5kbGVyL2luZGV4LmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzSHR0cFNlcnZlciB7XG4gIGNsaWVudENvdW50ID0gMFxuXG4gIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgU2VydmVyQ2xpZW50Pn0gICovXG4gIGNsaWVudHMgPSB7fVxuXG4gIGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICB3b3JrZXJDb3VudCA9IDBcblxuICAvKiogQHR5cGUge1dvcmtlckhhbmRsZXJbXX0gKi9cbiAgd29ya2VySGFuZGxlcnMgPSBbXVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gYXJncy5jb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYXJncy5ob3N0XVxuICAgKiBAcGFyYW0ge251bWJlcn0gW2FyZ3MucG9ydF1cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLm1heFdvcmtlcnNdXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7Y29uZmlndXJhdGlvbiwgaG9zdCwgbWF4V29ya2VycywgcG9ydH0pIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5sb2dnZXIgPSBuZXcgTG9nZ2VyKHRoaXMpXG4gICAgdGhpcy5ob3N0ID0gaG9zdCB8fCBcIjAuMC4wLjBcIlxuICAgIHRoaXMucG9ydCA9IHBvcnQgfHwgMzAwNlxuICAgIHRoaXMubWF4V29ya2VycyA9IG1heFdvcmtlcnMgfHwgMTZcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gKi9cbiAgYXN5bmMgc3RhcnQoKSB7XG4gICAgYXdhaXQgdGhpcy5fZW5zdXJlQXRMZWFzdE9uZVdvcmtlcigpXG4gICAgdGhpcy5uZXRTZXJ2ZXIgPSBuZXcgTmV0LlNlcnZlcigpXG4gICAgdGhpcy5uZXRTZXJ2ZXIub24oXCJjbG9zZVwiLCB0aGlzLm9uQ2xvc2UpXG4gICAgdGhpcy5uZXRTZXJ2ZXIub24oXCJjb25uZWN0aW9uXCIsIHRoaXMub25Db25uZWN0aW9uKVxuICAgIGF3YWl0IHRoaXMuX25ldFNlcnZlckxpc3RlbigpXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59ICovXG4gIF9uZXRTZXJ2ZXJMaXN0ZW4oKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmICghdGhpcy5uZXRTZXJ2ZXIpIHRocm93IG5ldyBFcnJvcihcIk5vIG5ldFNlcnZlclwiKVxuXG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLm5ldFNlcnZlci5saXN0ZW4odGhpcy5wb3J0LCB0aGlzLmhvc3QsICgpID0+IHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgVmVsb2Npb3VzIGxpc3RlbmluZyBvbiAke3RoaXMuaG9zdH06JHt0aGlzLnBvcnR9YClcbiAgICAgICAgICByZXNvbHZlKG51bGwpXG4gICAgICAgIH0pXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZWplY3QoZXJyb3IpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gKi9cbiAgYXN5bmMgX2Vuc3VyZUF0TGVhc3RPbmVXb3JrZXIoKSB7XG4gICAgaWYgKHRoaXMud29ya2VySGFuZGxlcnMubGVuZ3RoID09IDApIHtcbiAgICAgIGF3YWl0IHRoaXMuc3Bhd25Xb3JrZXIoKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgaXNBY3RpdmUoKSB7XG4gICAgaWYgKHRoaXMubmV0U2VydmVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5uZXRTZXJ2ZXIubGlzdGVuaW5nXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59ICovXG4gIGFzeW5jIHN0b3BDbGllbnRzKCkge1xuICAgIGNvbnN0IHByb21pc2VzID0gW11cblxuICAgIGZvciAoY29uc3QgY2xpZW50Q291bnQgaW4gdGhpcy5jbGllbnRzKSB7XG4gICAgICBjb25zdCBjbGllbnQgPSB0aGlzLmNsaWVudHNbY2xpZW50Q291bnRdXG5cbiAgICAgIHByb21pc2VzLnB1c2goY2xpZW50LmVuZCgpKVxuICAgIH1cblxuICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAqL1xuICBzdG9wU2VydmVyKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAoIXRoaXMubmV0U2VydmVyKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBuZXRTZXJ2ZXIgdG8gc3RvcFwiKVxuXG4gICAgICB0aGlzLm5ldFNlcnZlci5jbG9zZSgoZXJyb3IpID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc29sdmUobnVsbClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAqL1xuICBhc3luYyBzdG9wKCkge1xuICAgIGF3YWl0IHRoaXMuc3RvcENsaWVudHMoKVxuICAgIGF3YWl0IHRoaXMuc3RvcFNlcnZlcigpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIG9uQ2xvc2UgPSAoKSA9PiB7XG4gICAgdGhpcy5ldmVudHMuZW1pdChcImNsb3NlXCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCJuZXRcIikuU29ja2V0fSBzb2NrZXRcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBvbkNvbm5lY3Rpb24gPSAoc29ja2V0KSA9PiB7XG4gICAgY29uc3QgY2xpZW50Q291bnQgPSB0aGlzLmNsaWVudENvdW50XG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgTmV3IGNsaWVudCAke2NsaWVudENvdW50fWApXG4gICAgdGhpcy5jbGllbnRDb3VudCsrXG5cbiAgICBjb25zdCB3b3JrZXJIYW5kbGVyID0gdGhpcy53b3JrZXJIYW5kbGVyVG9Vc2UoKVxuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBTZXJ2ZXJDbGllbnQoe1xuICAgICAgY2xpZW50Q291bnQsXG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLmNvbmZpZ3VyYXRpb24sXG4gICAgICBzb2NrZXRcbiAgICB9KVxuXG4gICAgY2xpZW50LmV2ZW50cy5vbihcImNsb3NlXCIsIHRoaXMub25DbGllbnRDbG9zZSlcblxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBHYXZlIGNsaWVudCAke2NsaWVudENvdW50fSB0byB3b3JrZXIgJHt3b3JrZXJIYW5kbGVyLndvcmtlckNvdW50fWApXG4gICAgd29ya2VySGFuZGxlci5hZGRTb2NrZXRDb25uZWN0aW9uKGNsaWVudClcbiAgICB0aGlzLmNsaWVudHNbY2xpZW50Q291bnRdID0gY2xpZW50XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtTZXJ2ZXJDbGllbnR9IGNsaWVudFxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIG9uQ2xpZW50Q2xvc2UgPSAoY2xpZW50KSA9PiB7XG4gICAgY29uc3QgY2xpZW50Q291bnQgPSBkaWdnKGNsaWVudCwgXCJjbGllbnRDb3VudFwiKVxuICAgIGNvbnN0IG9sZENsaWVudHNMZW5ndGggPSBPYmplY3Qua2V5cyh0aGlzLmNsaWVudHMpLmxlbmd0aFxuXG4gICAgZGVsZXRlIHRoaXMuY2xpZW50c1tjbGllbnRDb3VudF1cblxuICAgIGNvbnN0IG5ld0NsaWVudHNMZW5ndGggPSBPYmplY3Qua2V5cyh0aGlzLmNsaWVudHMpLmxlbmd0aFxuXG4gICAgaWYgKG5ld0NsaWVudHNMZW5ndGggIT0gKG9sZENsaWVudHNMZW5ndGggLSAxKSkge1xuICAgICAgY29uc29sZS5lcnJvcihgRXhwZWN0ZWQgY2xpZW50IHRvIGhhdmUgYmVlbiByZW1vdmVkIGJ1dCBsZW5ndGggZGlkbid0IGNoYW5nZSBmcm9tICR7b2xkQ2xpZW50c0xlbmd0aH0gdG8gJHtvbGRDbGllbnRzTGVuZ3RoIC0gMX1gKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gKi9cbiAgYXN5bmMgc3Bhd25Xb3JrZXIoKSB7XG4gICAgY29uc3Qgd29ya2VyQ291bnQgPSB0aGlzLndvcmtlckNvdW50XG5cbiAgICB0aGlzLndvcmtlckNvdW50KytcblxuICAgIGNvbnN0IHdvcmtlckhhbmRsZXIgPSBuZXcgV29ya2VySGFuZGxlcih7XG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLmNvbmZpZ3VyYXRpb24sXG4gICAgICB3b3JrZXJDb3VudFxuICAgIH0pXG5cbiAgICBhd2FpdCB3b3JrZXJIYW5kbGVyLnN0YXJ0KClcbiAgICB0aGlzLndvcmtlckhhbmRsZXJzLnB1c2god29ya2VySGFuZGxlcilcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7V29ya2VySGFuZGxlcn0gKi9cbiAgd29ya2VySGFuZGxlclRvVXNlKCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBXb3JrZXIgaGFuZGxlcnMgbGVuZ3RoOiAke3RoaXMud29ya2VySGFuZGxlcnMubGVuZ3RofWApXG5cbiAgICBjb25zdCByYW5kb21Xb3JrZXJOdW1iZXIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiB0aGlzLndvcmtlckhhbmRsZXJzLmxlbmd0aClcbiAgICBjb25zdCB3b3JrZXJIYW5kbGVyID0gdGhpcy53b3JrZXJIYW5kbGVyc1tyYW5kb21Xb3JrZXJOdW1iZXJdXG5cbiAgICBpZiAoIXdvcmtlckhhbmRsZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gd29ya2VySGFuZGxlciBieSB0aGF0IG51bWJlcjogJHtyYW5kb21Xb3JrZXJOdW1iZXJ9YClcbiAgICB9XG5cbiAgICByZXR1cm4gd29ya2VySGFuZGxlclxuICB9XG59XG4iXX0=
|
|
@@ -15,16 +15,16 @@ export default class ServerClient {
|
|
|
15
15
|
logger: Logger;
|
|
16
16
|
socket: import("net").Socket;
|
|
17
17
|
clientCount: number;
|
|
18
|
+
/** @returns {void} */
|
|
18
19
|
listen(): void;
|
|
19
|
-
|
|
20
|
+
/** @returns {Promise<void>} */
|
|
21
|
+
end(): Promise<void>;
|
|
20
22
|
/**
|
|
21
23
|
* @param {Buffer} chunk
|
|
22
24
|
* @returns {void}
|
|
23
25
|
*/
|
|
24
26
|
onSocketData: (chunk: Buffer) => void;
|
|
25
|
-
/**
|
|
26
|
-
* @returns {void}
|
|
27
|
-
*/
|
|
27
|
+
/** @returns {void} */
|
|
28
28
|
onSocketEnd: () => void;
|
|
29
29
|
/**
|
|
30
30
|
* @param {string} data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-client.d.ts","sourceRoot":"","sources":["../../../src/http-server/server-client.js"],"names":[],"mappings":"AAKA;IAGE;;;;;OAKG;IACH,oDAJG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACV,MAAM,EAAjC,OAAO,KAAK,EAAE,MAAM;QACP,WAAW,EAAxB,MAAM;KAChB,EAUA;IAjBD,8BAA2B;IAWzB,qDAAkC;IAClC,eAA8B;IAC9B,6BAAoB;IACpB,oBAA8B;IAKhC,
|
|
1
|
+
{"version":3,"file":"server-client.d.ts","sourceRoot":"","sources":["../../../src/http-server/server-client.js"],"names":[],"mappings":"AAKA;IAGE;;;;;OAKG;IACH,oDAJG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QACV,MAAM,EAAjC,OAAO,KAAK,EAAE,MAAM;QACP,WAAW,EAAxB,MAAM;KAChB,EAUA;IAjBD,8BAA2B;IAWzB,qDAAkC;IAClC,eAA8B;IAC9B,6BAAoB;IACpB,oBAA8B;IAKhC,sBAAsB;IACtB,UADc,IAAI,CAGjB;IAED,+BAA+B;IAC/B,OADc,OAAO,CAAC,IAAI,CAAC,CAM1B;IAED;;;OAGG;IACH,eAAgB,OAHL,MAGU,KAFR,IAAI,CAYhB;IAED,sBAAsB;IACtB,mBADc,IAAI,CAIjB;IAED;;;OAGG;IACH,WAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CASzB;IAED;;;OAGG;IACH,qBAHW,OAAO,gBAAgB,EAAE,MAAM,GAC7B,IAAI,CAIhB;IADC,wCAAuB;CAE1B;yBA9EwB,QAAQ;uBACZ,cAAc"}
|
|
@@ -18,9 +18,11 @@ export default class ServerClient {
|
|
|
18
18
|
this.clientCount = clientCount;
|
|
19
19
|
socket.on("end", this.onSocketEnd);
|
|
20
20
|
}
|
|
21
|
+
/** @returns {void} */
|
|
21
22
|
listen() {
|
|
22
23
|
this.socket.on("data", this.onSocketData);
|
|
23
24
|
}
|
|
25
|
+
/** @returns {Promise<void>} */
|
|
24
26
|
end() {
|
|
25
27
|
return new Promise((resolve) => {
|
|
26
28
|
this.socket.once("close", () => resolve(null));
|
|
@@ -41,9 +43,7 @@ export default class ServerClient {
|
|
|
41
43
|
clientCount: this.clientCount
|
|
42
44
|
});
|
|
43
45
|
};
|
|
44
|
-
/**
|
|
45
|
-
* @returns {void}
|
|
46
|
-
*/
|
|
46
|
+
/** @returns {void} */
|
|
47
47
|
onSocketEnd = () => {
|
|
48
48
|
this.logger.debug(`Socket ${this.clientCount} end`);
|
|
49
49
|
this.events.emit("close", this);
|
|
@@ -68,4 +68,4 @@ export default class ServerClient {
|
|
|
68
68
|
this.worker = newWorker;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9odHRwLXNlcnZlci9zZXJ2ZXItY2xpZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFlBQVksTUFBTSxRQUFRLENBQUE7QUFDakMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUVuQyxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQVk7SUFDL0IsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFFM0I7Ozs7O09BS0c7SUFDSCxZQUFZLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWE7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFFN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUU5QixNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixNQUFNO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsK0JBQStCO0lBQy9CLEdBQUc7UUFDRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1lBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDbkIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBRWpFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7UUFFOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDdEIsT0FBTyxFQUFFLGFBQWE7WUFDdEIsS0FBSztZQUNMLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUE7SUFDSixDQUFDLENBQUE7SUFFRCxzQkFBc0I7SUFDdEIsV0FBVyxHQUFHLEdBQUcsRUFBRTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxDQUFBO1FBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNqQyxDQUFDLENBQUE7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUk7UUFDYixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQzNCLE9BQU8sRUFBRSxDQUFBO1lBQ1gsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsU0FBUztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQTtJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEV2ZW50RW1pdHRlciBmcm9tIFwiZXZlbnRzXCJcbmltcG9ydCB7TG9nZ2VyfSBmcm9tIFwiLi4vbG9nZ2VyLmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VydmVyQ2xpZW50IHtcbiAgZXZlbnRzID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIHtpbXBvcnQoXCJuZXRcIikuU29ja2V0fSBhcmdzLnNvY2tldFxuICAgKiBAcGFyYW0ge251bWJlcn0gYXJncy5jbGllbnRDb3VudFxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb24sIHNvY2tldCwgY2xpZW50Q291bnR9KSB7XG4gICAgaWYgKCFjb25maWd1cmF0aW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjb25maWd1cmF0aW9uIGdpdmVuXCIpXG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5sb2dnZXIgPSBuZXcgTG9nZ2VyKHRoaXMpXG4gICAgdGhpcy5zb2NrZXQgPSBzb2NrZXRcbiAgICB0aGlzLmNsaWVudENvdW50ID0gY2xpZW50Q291bnRcblxuICAgIHNvY2tldC5vbihcImVuZFwiLCB0aGlzLm9uU29ja2V0RW5kKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBsaXN0ZW4oKSB7XG4gICAgdGhpcy5zb2NrZXQub24oXCJkYXRhXCIsIHRoaXMub25Tb2NrZXREYXRhKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAqL1xuICBlbmQoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLnNvY2tldC5vbmNlKFwiY2xvc2VcIiwgKCkgPT4gcmVzb2x2ZShudWxsKSlcbiAgICAgIHRoaXMuc29ja2V0LmVuZCgpXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gY2h1bmtcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBvblNvY2tldERhdGEgPSAoY2h1bmspID0+IHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygoKSA9PiBbYFNvY2tldCAke3RoaXMuY2xpZW50Q291bnR9OiAke2NodW5rfWBdKVxuXG4gICAgaWYgKCF0aGlzLndvcmtlcikgdGhyb3cgbmV3IEVycm9yKFwiTm8gd29ya2VyXCIpXG5cbiAgICB0aGlzLndvcmtlci5wb3N0TWVzc2FnZSh7XG4gICAgICBjb21tYW5kOiBcImNsaWVudFdyaXRlXCIsXG4gICAgICBjaHVuayxcbiAgICAgIGNsaWVudENvdW50OiB0aGlzLmNsaWVudENvdW50XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgb25Tb2NrZXRFbmQgPSAoKSA9PiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFNvY2tldCAke3RoaXMuY2xpZW50Q291bnR9IGVuZGApXG4gICAgdGhpcy5ldmVudHMuZW1pdChcImNsb3NlXCIsIHRoaXMpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGFcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBhc3luYyBzZW5kKGRhdGEpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiU2VuZFwiLCBkYXRhKVxuICAgICAgdGhpcy5zb2NrZXQud3JpdGUoZGF0YSwgKCkgPT4ge1xuICAgICAgICByZXNvbHZlKClcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIndvcmtlcl90aHJlYWRzXCIpLldvcmtlcn0gbmV3V29ya2VyXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgc2V0V29ya2VyKG5ld1dvcmtlcikge1xuICAgIHRoaXMud29ya2VyID0gbmV3V29ya2VyXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/http-server/worker-handler/index.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,4CAHG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;QAC3B,WAAW,EAAxB,MAAM;KAChB,EASA;IAPC,wDAAkC;IAElC,oEAAoE;IACpE,SADW,MAAM,CAAC,MAAM,EAAE,OAAO,qBAAqB,EAAE,OAAO,CAAC,CAC/C;IAEjB,eAA8B;IAC9B,oBAA8B;IAGhC,sBAKC;IAHG,sCAA8B;IAKlC,8BAgBC;IAXC,eAOE;IAMJ;;;OAGG;IACH,4BAHW,OAAO,qBAAqB,EAAE,OAAO,GACnC,IAAI,CAiBhB;IAED;;OAEG;IACH,gBAAiB,OAFN,GAEW,WAErB;IAED;;;OAGG;IACH,eAAgB,MAHL,MAGS,KAFP,IAAI,CAQhB;IAED;;;;;;OAMG;IACH,kBAAmB,MALhB;QAAqB,OAAO,EAApB,MAAM;QACO,WAAW,EAAxB,MAAM;QACO,MAAM,EAAnB,MAAM;KAGM,KAFV,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/http-server/worker-handler/index.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,4CAHG;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO;QAC3B,WAAW,EAAxB,MAAM;KAChB,EASA;IAPC,wDAAkC;IAElC,oEAAoE;IACpE,SADW,MAAM,CAAC,MAAM,EAAE,OAAO,qBAAqB,EAAE,OAAO,CAAC,CAC/C;IAEjB,eAA8B;IAC9B,oBAA8B;IAGhC,sBAKC;IAHG,sCAA8B;IAKlC,8BAgBC;IAXC,eAOE;IAMJ;;;OAGG;IACH,4BAHW,OAAO,qBAAqB,EAAE,OAAO,GACnC,IAAI,CAiBhB;IAED;;OAEG;IACH,gBAAiB,OAFN,GAEW,WAErB;IAED;;;OAGG;IACH,eAAgB,MAHL,MAGS,KAFP,IAAI,CAQhB;IAED;;;;;;OAMG;IACH,kBAAmB,MALhB;QAAqB,OAAO,EAApB,MAAM;QACO,WAAW,EAAxB,MAAM;QACO,MAAM,EAAnB,MAAM;KAGM,KAFV,IAAI,CA6BhB;CACF;uBAxHoB,iBAAiB;uBACjB,gBAAgB"}
|
|
@@ -91,7 +91,9 @@ export default class VelociousHttpServerWorker {
|
|
|
91
91
|
else if (command == "clientOutput") {
|
|
92
92
|
this.logger.debug("CLIENT OUTPUT", data);
|
|
93
93
|
const { clientCount, output } = data;
|
|
94
|
-
|
|
94
|
+
if (output !== null) {
|
|
95
|
+
this.clients[clientCount]?.send(output);
|
|
96
|
+
}
|
|
95
97
|
}
|
|
96
98
|
else if (command == "clientClose") {
|
|
97
99
|
const { clientCount } = data;
|
|
@@ -102,4 +104,4 @@ export default class VelociousHttpServerWorker {
|
|
|
102
104
|
}
|
|
103
105
|
};
|
|
104
106
|
}
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaHR0cC1zZXJ2ZXIvd29ya2VyLWhhbmRsZXIvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUN0QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUE7QUFDckMsT0FBTyxXQUFXLE1BQU0sNkJBQTZCLENBQUE7QUFFckQsTUFBTSxDQUFDLE9BQU8sT0FBTyx5QkFBeUI7SUFDNUM7Ozs7T0FJRztJQUNILFlBQVksRUFBQyxhQUFhLEVBQUUsV0FBVyxFQUFDO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1FBRWxDLG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUVqQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFBO1lBQzlCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUNyQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQTtRQUN0QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQ25ELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFFekYs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QU0sRUFBQyxHQUFHLElBQUksQ0FBQTtZQUVsQyxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDekMsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLE9BQU8sSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNwQyxNQUFNLEVBQUMsV0FBVyxFQUFDLEdBQUcsSUFBSSxDQUFBO1lBRTFCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUE7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQ2hELENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge0xvZ2dlcn0gZnJvbSBcIi4uLy4uL2xvZ2dlci5qc1wiXG5pbXBvcnQge1dvcmtlcn0gZnJvbSBcIndvcmtlcl90aHJlYWRzXCJcbmltcG9ydCBlbnN1cmVFcnJvciBmcm9tIFwiLi4vLi4vdXRpbHMvZW5zdXJlLWVycm9yLmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzSHR0cFNlcnZlcldvcmtlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uLy4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gYXJncy5jb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBhcmdzLndvcmtlckNvdW50XG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7Y29uZmlndXJhdGlvbiwgd29ya2VyQ291bnR9KSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvblxuXG4gICAgLyoqIEB0eXBlIHtSZWNvcmQ8bnVtYmVyLCBpbXBvcnQoXCIuLi9zZXJ2ZXItY2xpZW50LmpzXCIpLmRlZmF1bHQ+fSAqL1xuICAgIHRoaXMuY2xpZW50cyA9IHt9XG5cbiAgICB0aGlzLmxvZ2dlciA9IG5ldyBMb2dnZXIodGhpcylcbiAgICB0aGlzLndvcmtlckNvdW50ID0gd29ya2VyQ291bnRcbiAgfVxuXG4gIHN0YXJ0KCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5vblN0YXJ0Q2FsbGJhY2sgPSByZXNvbHZlXG4gICAgICB0aGlzLl9zcGF3bldvcmtlcigpXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIF9zcGF3bldvcmtlcigpIHtcbiAgICBjb25zdCBkZWJ1ZyA9IHRoaXMuY29uZmlndXJhdGlvbi5kZWJ1Z1xuICAgIGNvbnN0IGRpcmVjdG9yeSA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXREaXJlY3RvcnkoKVxuICAgIGNvbnN0IHZlbG9jaW91c1BhdGggPSBhd2FpdCB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0RW52aXJvbm1lbnRIYW5kbGVyKCkuZ2V0VmVsb2Npb3VzUGF0aCgpXG5cbiAgICB0aGlzLndvcmtlciA9IG5ldyBXb3JrZXIoYCR7dmVsb2Npb3VzUGF0aH0vc3JjL2h0dHAtc2VydmVyL3dvcmtlci1oYW5kbGVyL3dvcmtlci1zY3JpcHQuanNgLCB7XG4gICAgICB3b3JrZXJEYXRhOiB7XG4gICAgICAgIGRlYnVnLFxuICAgICAgICBkaXJlY3RvcnksXG4gICAgICAgIGVudmlyb25tZW50OiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0RW52aXJvbm1lbnQoKSxcbiAgICAgICAgd29ya2VyQ291bnQ6IHRoaXMud29ya2VyQ291bnRcbiAgICAgIH1cbiAgICB9KVxuICAgIHRoaXMud29ya2VyLm9uKFwiZXJyb3JcIiwgdGhpcy5vbldvcmtlckVycm9yKVxuICAgIHRoaXMud29ya2VyLm9uKFwiZXhpdFwiLCB0aGlzLm9uV29ya2VyRXhpdClcbiAgICB0aGlzLndvcmtlci5vbihcIm1lc3NhZ2VcIiwgdGhpcy5vbldvcmtlck1lc3NhZ2UpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9zZXJ2ZXItY2xpZW50LmpzXCIpLmRlZmF1bHR9IGNsaWVudFxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGFkZFNvY2tldENvbm5lY3Rpb24oY2xpZW50KSB7XG4gICAgY29uc3QgY2xpZW50Q291bnQgPSBjbGllbnQuY2xpZW50Q291bnRcblxuICAgIGNsaWVudC5zb2NrZXQub24oXCJlbmRcIiwgKCkgPT4ge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFJlbW92aW5nICR7Y2xpZW50Q291bnR9IGZyb20gY2xpZW50c2ApXG4gICAgICBkZWxldGUgdGhpcy5jbGllbnRzW2NsaWVudENvdW50XVxuICAgIH0pXG5cbiAgICBpZiAoIXRoaXMud29ya2VyKSB0aHJvdyBuZXcgRXJyb3IoXCJXb3JrZXIgbm90IGluaXRpYWxpemVkXCIpXG5cbiAgICBjbGllbnQuc2V0V29ya2VyKHRoaXMud29ya2VyKVxuICAgIGNsaWVudC5saXN0ZW4oKVxuXG4gICAgdGhpcy5jbGllbnRzW2NsaWVudENvdW50XSA9IGNsaWVudFxuICAgIHRoaXMud29ya2VyLnBvc3RNZXNzYWdlKHtjb21tYW5kOiBcIm5ld0NsaWVudFwiLCBjbGllbnRDb3VudH0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHthbnl9IGVycm9yXG4gICAqL1xuICBvbldvcmtlckVycm9yID0gKGVycm9yKSA9PiB7XG4gICAgdGhyb3cgZW5zdXJlRXJyb3IoZXJyb3IpIC8vIFRocm93cyBvcmlnaW5hbCBlcnJvciB3aXRoIGJhY2t0cmFjZSBhbmQgZXZlcnl0aGluZyBpbnRvIHRoZSBjb25zb2xlXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtudW1iZXJ9IGNvZGVcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBvbldvcmtlckV4aXQgPSAoY29kZSkgPT4ge1xuICAgIGlmIChjb2RlICE9PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENsaWVudCB3b3JrZXIgc3RvcHBlZCB3aXRoIGV4aXQgY29kZSAke2NvZGV9YClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoKCkgPT4gW2BDbGllbnQgd29ya2VyIHN0b3BwZWQgd2l0aCBleGl0IGNvZGUgJHtjb2RlfWBdKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gZGF0YVxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGF0YS5jb21tYW5kXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBkYXRhLmNsaWVudENvdW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhLm91dHB1dFxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIG9uV29ya2VyTWVzc2FnZSA9IChkYXRhKSA9PiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFdvcmtlciBtZXNzYWdlYCwgZGF0YSlcblxuICAgIGNvbnN0IHtjb21tYW5kfSA9IGRhdGFcblxuXG4gICAgaWYgKGNvbW1hbmQgPT0gXCJzdGFydGVkXCIpIHtcbiAgICAgIGlmICh0aGlzLm9uU3RhcnRDYWxsYmFjaykge1xuICAgICAgICB0aGlzLm9uU3RhcnRDYWxsYmFjayhudWxsKVxuICAgICAgfVxuXG4gICAgICB0aGlzLm9uU3RhcnRDYWxsYmFjayA9IG51bGxcbiAgICB9IGVsc2UgaWYgKGNvbW1hbmQgPT0gXCJjbGllbnRPdXRwdXRcIikge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJDTElFTlQgT1VUUFVUXCIsIGRhdGEpXG5cbiAgICAgIGNvbnN0IHtjbGllbnRDb3VudCwgb3V0cHV0fSA9IGRhdGFcblxuICAgICAgaWYgKG91dHB1dCAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmNsaWVudHNbY2xpZW50Q291bnRdPy5zZW5kKG91dHB1dClcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGNvbW1hbmQgPT0gXCJjbGllbnRDbG9zZVwiKSB7XG4gICAgICBjb25zdCB7Y2xpZW50Q291bnR9ID0gZGF0YVxuXG4gICAgICB0aGlzLmNsaWVudHNbY2xpZW50Q291bnRdPy5lbmQoKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29tbWFuZDogJHtjb21tYW5kfWApXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -22,6 +22,13 @@ export default class VelociousBaseRoute {
|
|
|
22
22
|
* @param {string} name
|
|
23
23
|
*/
|
|
24
24
|
get(name: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* @abstract
|
|
27
|
+
* @returns {string}
|
|
28
|
+
*/
|
|
29
|
+
getHumanPath(): string;
|
|
30
|
+
/** @returns {Array<VelociousBaseRoute>} */
|
|
31
|
+
getSubRoutes(): Array<VelociousBaseRoute>;
|
|
25
32
|
/**
|
|
26
33
|
* @param {object} args
|
|
27
34
|
* @param {Record<string, any>} args.params
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-route.d.ts","sourceRoot":"","sources":["../../../src/routes/base-route.js"],"names":[],"mappings":"AAEA;IACE,sDAAsD;IACtD,qBADW,cAAc,gBAAgB,EAAE,OAAO,CAC/B;IAEnB,4DAA4D;IAC5D,2BADW,cAAc,sBAAsB,EAAE,OAAO,CAC/B;IAEzB,uDAAuD;IACvD,sBADW,cAAc,iBAAiB,EAAE,OAAO,CAC/B;IAEpB,2DAA2D;IAC3D,0BADW,cAAc,qBAAqB,EAAE,OAAO,CAC/B;IAExB,kEAAkE;IAClE,wCADY,cAAc,gBAAgB,EAAE,OAAO,QAGlD;IAED,wEAAwE;IACxE,8CADY,cAAc,sBAAsB,EAAE,OAAO,QAGxD;IAED,mEAAmE;IACnE,yCADY,cAAc,iBAAiB,EAAE,OAAO,QAGnD;IAED,uEAAuE;IACvE,6CADY,cAAc,qBAAqB,EAAE,OAAO,QAGvD;IAMD,wCAAwC;IACxC,QADW,KAAK,CAAC,kBAAkB,CAAC,CACzB;IAEX;;;OAGG;IACH,UAFW,MAAM,QAEqC;IAEtD;;;;;;OAMG;IACH,yCALG;QAAkC,MAAM,EAAhC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACN,IAAI,EAAjB,MAAM;QACmD,OAAO,EAAhE,OAAO,kCAAkC,EAAE,OAAO;KAC1D,GAAU;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAI1C;IAED;;;;;OAKG;IACH,gBAJW,MAAM,YACN,CAAS,IAAsC,EAAtC,OAAO,sBAAsB,EAAE,OAAO,KAAI,IAAI,GACrD,IAAI,CAE2D;IAE5E;;;;OAIG;IACH,WAHW,MAAM,GACJ,IAAI,CAEuC;IAExD;;;;;OAKG;IACH,gBAJW,MAAM,YACN,CAAS,IAAqC,EAArC,OAAO,qBAAqB,EAAE,OAAO,KAAI,IAAI,GACpD,IAAI,CAE2D;CAC7E"}
|
|
1
|
+
{"version":3,"file":"base-route.d.ts","sourceRoot":"","sources":["../../../src/routes/base-route.js"],"names":[],"mappings":"AAEA;IACE,sDAAsD;IACtD,qBADW,cAAc,gBAAgB,EAAE,OAAO,CAC/B;IAEnB,4DAA4D;IAC5D,2BADW,cAAc,sBAAsB,EAAE,OAAO,CAC/B;IAEzB,uDAAuD;IACvD,sBADW,cAAc,iBAAiB,EAAE,OAAO,CAC/B;IAEpB,2DAA2D;IAC3D,0BADW,cAAc,qBAAqB,EAAE,OAAO,CAC/B;IAExB,kEAAkE;IAClE,wCADY,cAAc,gBAAgB,EAAE,OAAO,QAGlD;IAED,wEAAwE;IACxE,8CADY,cAAc,sBAAsB,EAAE,OAAO,QAGxD;IAED,mEAAmE;IACnE,yCADY,cAAc,iBAAiB,EAAE,OAAO,QAGnD;IAED,uEAAuE;IACvE,6CADY,cAAc,qBAAqB,EAAE,OAAO,QAGvD;IAMD,wCAAwC;IACxC,QADW,KAAK,CAAC,kBAAkB,CAAC,CACzB;IAEX;;;OAGG;IACH,UAFW,MAAM,QAEqC;IAEtD;;;OAGG;IACH,gBAFa,MAAM,CAE8E;IAEjG,2CAA2C;IAC3C,gBADc,KAAK,CAAC,kBAAkB,CAAC,CACF;IAErC;;;;;;OAMG;IACH,yCALG;QAAkC,MAAM,EAAhC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACN,IAAI,EAAjB,MAAM;QACmD,OAAO,EAAhE,OAAO,kCAAkC,EAAE,OAAO;KAC1D,GAAU;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAI1C;IAED;;;;;OAKG;IACH,gBAJW,MAAM,YACN,CAAS,IAAsC,EAAtC,OAAO,sBAAsB,EAAE,OAAO,KAAI,IAAI,GACrD,IAAI,CAE2D;IAE5E;;;;OAIG;IACH,WAHW,MAAM,GACJ,IAAI,CAEuC;IAExD;;;;;OAKG;IACH,gBAJW,MAAM,YACN,CAAS,IAAqC,EAArC,OAAO,qBAAqB,EAAE,OAAO,KAAI,IAAI,GACpD,IAAI,CAE2D;CAC7E"}
|
|
@@ -34,6 +34,13 @@ export default class VelociousBaseRoute {
|
|
|
34
34
|
* @param {string} name
|
|
35
35
|
*/
|
|
36
36
|
get(name) { throw new Error("'get' not implemented"); } // eslint-disable-line no-unused-vars
|
|
37
|
+
/**
|
|
38
|
+
* @abstract
|
|
39
|
+
* @returns {string}
|
|
40
|
+
*/
|
|
41
|
+
getHumanPath() { throw new Error(`'getHumanPath' not implemented for ${this.constructor.name}`); }
|
|
42
|
+
/** @returns {Array<VelociousBaseRoute>} */
|
|
43
|
+
getSubRoutes() { return this.routes; }
|
|
37
44
|
/**
|
|
38
45
|
* @param {object} args
|
|
39
46
|
* @param {Record<string, any>} args.params
|
|
@@ -65,4 +72,4 @@ export default class VelociousBaseRoute {
|
|
|
65
72
|
*/
|
|
66
73
|
resources(name, callback) { throw new Error("'resources' not implemented"); } // eslint-disable-line no-unused-vars
|
|
67
74
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yb3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXMvYmFzZS1yb3V0ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBa0I7SUFDckMsc0RBQXNEO0lBQ3RELE1BQU0sQ0FBQyxZQUFZLENBQUE7SUFFbkIsNERBQTREO0lBQzVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQTtJQUV6Qix1REFBdUQ7SUFDdkQsTUFBTSxDQUFDLGFBQWEsQ0FBQTtJQUVwQiwyREFBMkQ7SUFDM0QsTUFBTSxDQUFDLGlCQUFpQixDQUFBO0lBRXhCLGtFQUFrRTtJQUNsRSxNQUFNLENBQUMsb0JBQW9CLENBQUMsVUFBVTtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsd0VBQXdFO0lBQ3hFLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxVQUFVO1FBQzFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLENBQUE7SUFDdEMsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBVTtRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsdUVBQXVFO0lBQ3ZFLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUE7SUFDckMsQ0FBQztJQUVEO1FBQ0UsVUFBVTtJQUNaLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUVYOzs7T0FHRztJQUNILEdBQUcsQ0FBQyxJQUFJLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLHFDQUFxQztJQUU1Rjs7O09BR0c7SUFDSCxZQUFZLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVqRywyQ0FBMkM7SUFDM0MsWUFBWSxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7SUFFckM7Ozs7OztPQU1HO0lBQ0gsYUFBYSxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQy9FLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7SUFFbEg7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxJQUFJLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLHFDQUFxQztJQUU5Rjs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7Q0FDbkgiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzQmFzZVJvdXRlIHtcbiAgLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KFwiLi9nZXQtcm91dGUuanNcIikuZGVmYXVsdH0gKi9cbiAgc3RhdGljIEdldFJvdXRlVHlwZVxuXG4gIC8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydChcIi4vbmFtZXNwYWNlLXJvdXRlLmpzXCIpLmRlZmF1bHR9ICovXG4gIHN0YXRpYyBOYW1lU3BhY2VSb3V0ZVR5cGVcblxuICAvKiogQHR5cGUge3R5cGVvZiBpbXBvcnQoXCIuL3Bvc3Qtcm91dGUuanNcIikuZGVmYXVsdH0gKi9cbiAgc3RhdGljIFBvc3RSb3V0ZVR5cGVcblxuICAvKiogQHR5cGUge3R5cGVvZiBpbXBvcnQoXCIuL3Jlc291cmNlLXJvdXRlLmpzXCIpLmRlZmF1bHR9ICovXG4gIHN0YXRpYyBSZXNvdXJjZVJvdXRlVHlwZVxuXG4gIC8qKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL2dldC1yb3V0ZS5qc1wiKS5kZWZhdWx0fSBSb3V0ZUNsYXNzICovXG4gIHN0YXRpYyByZWdpc3RlclJvdXRlR2V0VHlwZShSb3V0ZUNsYXNzKSB7XG4gICAgdGhpcy5HZXRSb3V0ZVR5cGUgPSBSb3V0ZUNsYXNzXG4gIH1cblxuICAvKiogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi9uYW1lc3BhY2Utcm91dGUuanNcIikuZGVmYXVsdH0gUm91dGVDbGFzcyAqL1xuICBzdGF0aWMgcmVnaXN0ZXJSb3V0ZU5hbWVzcGFjZVR5cGUoUm91dGVDbGFzcykge1xuICAgIHRoaXMuTmFtZVNwYWNlUm91dGVUeXBlID0gUm91dGVDbGFzc1xuICB9XG5cbiAgLyoqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4vcG9zdC1yb3V0ZS5qc1wiKS5kZWZhdWx0fSBSb3V0ZUNsYXNzICovXG4gIHN0YXRpYyByZWdpc3RlclJvdXRlUG9zdFR5cGUoUm91dGVDbGFzcykge1xuICAgIHRoaXMuUG9zdFJvdXRlVHlwZSA9IFJvdXRlQ2xhc3NcbiAgfVxuXG4gIC8qKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL3Jlc291cmNlLXJvdXRlLmpzXCIpLmRlZmF1bHR9IFJvdXRlQ2xhc3MgKi9cbiAgc3RhdGljIHJlZ2lzdGVyUm91dGVSZXNvdXJjZVR5cGUoUm91dGVDbGFzcykge1xuICAgIHRoaXMuUmVzb3VyY2VSb3V0ZVR5cGUgPSBSb3V0ZUNsYXNzXG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBOb3RoaW5nXG4gIH1cblxuICAvKiogQHR5cGUge0FycmF5PFZlbG9jaW91c0Jhc2VSb3V0ZT59ICovXG4gIHJvdXRlcyA9IFtdXG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKi9cbiAgZ2V0KG5hbWUpIHsgdGhyb3cgbmV3IEVycm9yKFwiJ2dldCcgbm90IGltcGxlbWVudGVkXCIpIH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIGdldEh1bWFuUGF0aCgpIHsgdGhyb3cgbmV3IEVycm9yKGAnZ2V0SHVtYW5QYXRoJyBub3QgaW1wbGVtZW50ZWQgZm9yICR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfWApIH1cblxuICAvKiogQHJldHVybnMge0FycmF5PFZlbG9jaW91c0Jhc2VSb3V0ZT59ICovXG4gIGdldFN1YlJvdXRlcygpIHsgcmV0dXJuIHRoaXMucm91dGVzIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBhcmdzLnBhcmFtc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5wYXRoXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QuanNcIikuZGVmYXVsdH0gYXJncy5yZXF1ZXN0XG4gICAqIEByZXR1cm5zIHt7cmVzdFBhdGg6IHN0cmluZ30gfCB1bmRlZmluZWR9XG4gICAqL1xuICBtYXRjaFdpdGhQYXRoKHtwYXJhbXMsIHBhdGgsIHJlcXVlc3R9KSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vICdtYXRjaFdpdGhQYXRoJyBpbXBsZW1lbnRlZCBvbiAke3RoaXMuY29uc3RydWN0b3IubmFtZX1gKVxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKGltcG9ydChcIi4vbmFtZXNwYWNlLXJvdXRlLmpzXCIpLmRlZmF1bHQpIDogdm9pZH0gY2FsbGJhY2tcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBuYW1lc3BhY2UobmFtZSwgY2FsbGJhY2spIHsgdGhyb3cgbmV3IEVycm9yKFwiJ25hbWVzcGFjZScgbm90IGltcGxlbWVudGVkXCIpIH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBwb3N0KG5hbWUpIHsgdGhyb3cgbmV3IEVycm9yKFwiJ3Bvc3QnIG5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24oaW1wb3J0KFwiLi9yZXNvdXJjZS1yb3V0ZS5qc1wiKS5kZWZhdWx0KSA6IHZvaWR9IGNhbGxiYWNrXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgcmVzb3VyY2VzKG5hbWUsIGNhbGxiYWNrKSB7IHRocm93IG5ldyBFcnJvcihcIidyZXNvdXJjZXMnIG5vdCBpbXBsZW1lbnRlZFwiKSB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-route.d.ts","sourceRoot":"","sources":["../../../src/routes/get-route.js"],"names":[],"mappings":";AAOA;IACE;;;OAGG;IACH,mCAFG;QAAqB,IAAI,EAAjB,MAAM;KAChB,EAMA;IAFC,aAAgB;IAChB,eAA+D;
|
|
1
|
+
{"version":3,"file":"get-route.d.ts","sourceRoot":"","sources":["../../../src/routes/get-route.js"],"names":[],"mappings":";AAOA;IACE;;;OAGG;IACH,mCAFG;QAAqB,IAAI,EAAjB,MAAM;KAChB,EAMA;IAFC,aAAgB;IAChB,eAA+D;CAyBlE;sBArCqB,iBAAiB"}
|