@litert/televoke 0.4.5 → 0.4.7
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/CHANGES.md +11 -0
- package/lib/Client/Common.d.ts +1 -1
- package/lib/Client/Common.d.ts.map +1 -1
- package/lib/Client/HttpClient.d.ts.map +1 -1
- package/lib/Client/HttpClient.js +17 -9
- package/lib/Client/HttpClient.js.map +1 -1
- package/lib/Client/HttpsClient.d.ts.map +1 -1
- package/lib/Client/HttpsClient.js +17 -9
- package/lib/Client/HttpsClient.js.map +1 -1
- package/lib/Client/TCPClient.d.ts +5 -0
- package/lib/Client/TCPClient.d.ts.map +1 -1
- package/lib/Client/TCPClient.js +8 -4
- package/lib/Client/TCPClient.js.map +1 -1
- package/lib/Client/TLSClient.d.ts.map +1 -1
- package/lib/Client/TLSClient.js +3 -4
- package/lib/Client/TLSClient.js.map +1 -1
- package/lib/Client/index.js +5 -1
- package/lib/Client/index.js.map +1 -1
- package/lib/Common/API.d.ts +1 -1
- package/lib/Common/API.d.ts.map +1 -1
- package/lib/Common/Request.d.ts +1 -1
- package/lib/Common/Request.d.ts.map +1 -1
- package/lib/Common/Response.js +1 -1
- package/lib/Common/Response.js.map +1 -1
- package/lib/Common/index.js +5 -1
- package/lib/Common/index.js.map +1 -1
- package/lib/Encoder/Decoder.d.ts.map +1 -1
- package/lib/Encoder/Decoder.js +23 -13
- package/lib/Encoder/Decoder.js.map +1 -1
- package/lib/Encoder/Encoder.d.ts.map +1 -1
- package/lib/Encoder/Encoder.js +4 -4
- package/lib/Encoder/Encoder.js.map +1 -1
- package/lib/Server/Common/Gateway.d.ts +3 -1
- package/lib/Server/Common/Gateway.d.ts.map +1 -1
- package/lib/Server/Common/Request.d.ts +1 -1
- package/lib/Server/Common/Request.d.ts.map +1 -1
- package/lib/Server/Common/Router.d.ts +2 -2
- package/lib/Server/Common/Router.d.ts.map +1 -1
- package/lib/Server/Common/Server.d.ts +6 -0
- package/lib/Server/Common/Server.d.ts.map +1 -1
- package/lib/Server/Common/index.js +5 -1
- package/lib/Server/Common/index.js.map +1 -1
- package/lib/Server/Errors.d.ts +1 -0
- package/lib/Server/Errors.d.ts.map +1 -1
- package/lib/Server/Errors.js +7 -1
- package/lib/Server/Errors.js.map +1 -1
- package/lib/Server/Gateways/Http.d.ts.map +1 -1
- package/lib/Server/Gateways/Http.js +30 -11
- package/lib/Server/Gateways/Http.js.map +1 -1
- package/lib/Server/Gateways/TCP.d.ts +5 -0
- package/lib/Server/Gateways/TCP.d.ts.map +1 -1
- package/lib/Server/Gateways/TCP.js +15 -7
- package/lib/Server/Gateways/TCP.js.map +1 -1
- package/lib/Server/Server.d.ts.map +1 -1
- package/lib/Server/Server.js +30 -16
- package/lib/Server/Server.js.map +1 -1
- package/lib/Server/index.js +5 -1
- package/lib/Server/index.js.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/package.json +7 -9
- package/src/lib/Client/Common.ts +2 -1
- package/src/lib/Client/HttpClient.ts +19 -16
- package/src/lib/Client/HttpsClient.ts +19 -16
- package/src/lib/Client/TCPClient.ts +16 -12
- package/src/lib/Client/TLSClient.ts +12 -13
- package/src/lib/Common/Request.ts +1 -1
- package/src/lib/Encoder/Decoder.ts +28 -13
- package/src/lib/Encoder/Encoder.ts +4 -5
- package/src/lib/Server/Common/Gateway.ts +4 -0
- package/src/lib/Server/Common/Request.ts +1 -1
- package/src/lib/Server/Common/Router.ts +7 -2
- package/src/lib/Server/Common/Server.ts +7 -0
- package/src/lib/Server/Errors.ts +7 -0
- package/src/lib/Server/Gateways/Http.ts +40 -12
- package/src/lib/Server/Gateways/TCP.ts +16 -7
- package/src/lib/Server/Server.ts +38 -16
- package/src/lib/Server/SimpleRouter.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decoder.js","sourceRoot":"","sources":["../../src/lib/Encoder/Decoder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,gCAAgC;AAChC,+BAA+B;AAE/B,MAAM,OAAO;IAwBT;
|
|
1
|
+
{"version":3,"file":"Decoder.js","sourceRoot":"","sources":["../../src/lib/Encoder/Decoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Encoder.d.ts","sourceRoot":"","sources":["../../src/lib/Encoder/Encoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Encoder.d.ts","sourceRoot":"","sources":["../../src/lib/Encoder/Encoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,WAAW,CAAC;AAqB/B,wBAAgB,aAAa,IAAI,CAAC,CAAC,QAAQ,CAG1C"}
|
package/lib/Encoder/Encoder.js
CHANGED
|
@@ -19,12 +19,12 @@ exports.createEncoder = void 0;
|
|
|
19
19
|
class Encoder {
|
|
20
20
|
encode(socket, content) {
|
|
21
21
|
content = JSON.stringify(content);
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
ret.writeUInt32LE(
|
|
25
|
-
ret.write(content, 4);
|
|
22
|
+
const ret = Buffer.allocUnsafe(8);
|
|
23
|
+
ret.writeUInt32LE(1, 0);
|
|
24
|
+
ret.writeUInt32LE(Buffer.byteLength(content), 4);
|
|
26
25
|
if (socket.writable) {
|
|
27
26
|
socket.write(ret);
|
|
27
|
+
socket.write(content);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Encoder.js","sourceRoot":"","sources":["../../src/lib/Encoder/Encoder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,MAAM,OAAO;IAEF,MAAM,CAAC,MAAmB,EAAE,OAAY;QAE3C,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAElC,MAAM,
|
|
1
|
+
{"version":3,"file":"Encoder.js","sourceRoot":"","sources":["../../src/lib/Encoder/Encoder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,MAAM,OAAO;IAEF,MAAM,CAAC,MAAmB,EAAE,OAAY;QAE3C,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAElC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAElC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,QAAQ,EAAE;YAEjB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACzB;IACL,CAAC;CACJ;AAED,SAAgB,aAAa;IAEzB,OAAO,IAAI,OAAO,EAAE,CAAC;AACzB,CAAC;AAHD,sCAGC"}
|
|
@@ -14,8 +14,10 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { IRawRequest, IRawResponse } from '../../Common';
|
|
17
|
-
export
|
|
17
|
+
export type IReplyCallbak = (data: IRawResponse) => void;
|
|
18
18
|
export interface IGateway {
|
|
19
|
+
readonly host: string;
|
|
20
|
+
readonly port: number;
|
|
19
21
|
onRequest?: (request: IRawRequest, reply: IReplyCallbak) => void;
|
|
20
22
|
onError?: (e: unknown) => void;
|
|
21
23
|
start(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gateway.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Common/Gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEzD,
|
|
1
|
+
{"version":3,"file":"Gateway.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Common/Gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;AAEzD,MAAM,WAAW,QAAQ;IAErB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,EAAE,CACR,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,aAAa,KACnB,IAAI,CAAC;IAEV,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { IRawRequest } from '../../Common';
|
|
17
|
-
export interface IRequest<T
|
|
17
|
+
export interface IRequest<T = any> extends IRawRequest<T> {
|
|
18
18
|
srt: number;
|
|
19
19
|
ip: string;
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Common/Request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,QAAQ,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Common/Request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAErD,GAAG,EAAE,MAAM,CAAC;IAEZ,EAAE,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { IRequest } from './Request';
|
|
17
|
-
export
|
|
18
|
-
export
|
|
17
|
+
export type IHandler<TApi extends (...args: any[]) => any> = (...args: Parameters<TApi>) => ReturnType<TApi> | Promise<ReturnType<TApi>>;
|
|
18
|
+
export type IHandlerEx<TApi extends (...args: any[]) => any> = (req: IRequest<Parameters<TApi>>, ...args: Parameters<TApi>) => ReturnType<TApi> | Promise<ReturnType<TApi>>;
|
|
19
19
|
export interface IRouter {
|
|
20
20
|
/**
|
|
21
21
|
* Try routing by the API name, and return the descriptor of the API.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Common/Router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Common/Router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CACzD,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KACxB,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAElD,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAC3D,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAC/B,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KACxB,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAElD,MAAM,WAAW,OAAO;IAEpB;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAEpC;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE9D;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7D"}
|
|
@@ -27,6 +27,12 @@ export interface IServer extends Events.IObservable<IServerEvents> {
|
|
|
27
27
|
* @param gateway The gateway object.
|
|
28
28
|
*/
|
|
29
29
|
addGateway(name: string, gateway: IGateway): this;
|
|
30
|
+
/**
|
|
31
|
+
* Get a mounted gateway by name.
|
|
32
|
+
*
|
|
33
|
+
* @param name The name of the gateway.
|
|
34
|
+
*/
|
|
35
|
+
getGateway(name: string): IGateway;
|
|
30
36
|
/**
|
|
31
37
|
* Unmount a gateway.
|
|
32
38
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Common/Server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,oBAAoB;IAG9D,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAEnC;AAED,MAAM,WAAW,OAAQ,SAAQ,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC;IAE9D;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAElD;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjC;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
|
|
1
|
+
{"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Common/Server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,oBAAoB;IAG9D,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAEnC;AAED,MAAM,WAAW,OAAQ,SAAQ,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC;IAE9D;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAElD;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IAEnC;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjC;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
*/
|
|
17
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
18
|
if (k2 === undefined) k2 = k;
|
|
19
|
-
Object.
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
20
24
|
}) : (function(o, m, k, k2) {
|
|
21
25
|
if (k2 === undefined) k2 = k;
|
|
22
26
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Server/Common/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/Server/Common/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,4CAA0B;AAC1B,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB"}
|
package/lib/Server/Errors.d.ts
CHANGED
|
@@ -21,4 +21,5 @@ export declare const E_SERVER_BUSY: import("@litert/exception").IExceptionConstr
|
|
|
21
21
|
export declare const E_NO_SERVER_ATTACHED: import("@litert/exception").IExceptionConstructor;
|
|
22
22
|
export declare const E_SERVER_NOT_READY: import("@litert/exception").IExceptionConstructor;
|
|
23
23
|
export declare const E_GATEWAY_BUSY: import("@litert/exception").IExceptionConstructor;
|
|
24
|
+
export declare const E_GATEWAY_NOT_FOUND: import("@litert/exception").IExceptionConstructor;
|
|
24
25
|
//# sourceMappingURL=Errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../src/lib/Server/Errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,eAAO,MAAM,kBAAkB,mDAK7B,CAAC;AAEH,eAAO,MAAM,iBAAiB,mDAK5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,mDAK5B,CAAC;AAEH,eAAO,MAAM,gBAAgB,mDAK3B,CAAC;AAEH,eAAO,MAAM,aAAa,mDAKxB,CAAC;AAEH,eAAO,MAAM,oBAAoB,mDAK/B,CAAC;AAEH,eAAO,MAAM,kBAAkB,mDAK7B,CAAC;AAEH,eAAO,MAAM,cAAc,mDAKzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../src/lib/Server/Errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,eAAO,MAAM,kBAAkB,mDAK7B,CAAC;AAEH,eAAO,MAAM,iBAAiB,mDAK5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,mDAK5B,CAAC;AAEH,eAAO,MAAM,gBAAgB,mDAK3B,CAAC;AAEH,eAAO,MAAM,aAAa,mDAKxB,CAAC;AAEH,eAAO,MAAM,oBAAoB,mDAK/B,CAAC;AAEH,eAAO,MAAM,kBAAkB,mDAK7B,CAAC;AAEH,eAAO,MAAM,cAAc,mDAKzB,CAAC;AAEH,eAAO,MAAM,mBAAmB,mDAK9B,CAAC"}
|
package/lib/Server/Errors.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.E_GATEWAY_BUSY = exports.E_SERVER_NOT_READY = exports.E_NO_SERVER_ATTACHED = exports.E_SERVER_BUSY = exports.E_SERVER_CLOSING = exports.E_SERVER_STARTING = exports.E_GATEWAY_CLOSING = exports.E_GATEWAY_STARTING = void 0;
|
|
18
|
+
exports.E_GATEWAY_NOT_FOUND = exports.E_GATEWAY_BUSY = exports.E_SERVER_NOT_READY = exports.E_NO_SERVER_ATTACHED = exports.E_SERVER_BUSY = exports.E_SERVER_CLOSING = exports.E_SERVER_STARTING = exports.E_GATEWAY_CLOSING = exports.E_GATEWAY_STARTING = void 0;
|
|
19
19
|
const Errors_1 = require("../Errors");
|
|
20
20
|
exports.E_GATEWAY_STARTING = Errors_1.errorRegistry.register({
|
|
21
21
|
name: 'gateway_starting',
|
|
@@ -65,4 +65,10 @@ exports.E_GATEWAY_BUSY = Errors_1.errorRegistry.register({
|
|
|
65
65
|
metadata: {},
|
|
66
66
|
type: 'public'
|
|
67
67
|
});
|
|
68
|
+
exports.E_GATEWAY_NOT_FOUND = Errors_1.errorRegistry.register({
|
|
69
|
+
name: 'gateway_not_found',
|
|
70
|
+
message: 'No such a gateway.',
|
|
71
|
+
metadata: {},
|
|
72
|
+
type: 'public'
|
|
73
|
+
});
|
|
68
74
|
//# sourceMappingURL=Errors.js.map
|
package/lib/Server/Errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../src/lib/Server/Errors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,sCAA0C;AAE7B,QAAA,kBAAkB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACrD,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,sCAAsC;IAC/C,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACpD,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,qCAAqC;IAC9C,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACpD,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,qCAAqC;IAC9C,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACnD,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,oCAAoC;IAC7C,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,sBAAa,CAAC,QAAQ,CAAC;IAChD,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACvD,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,0CAA0C;IACnD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACrD,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,qCAAqC;IAC9C,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACjD,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../src/lib/Server/Errors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,sCAA0C;AAE7B,QAAA,kBAAkB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACrD,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,sCAAsC;IAC/C,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACpD,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,qCAAqC;IAC9C,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACpD,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,qCAAqC;IAC9C,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACnD,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,oCAAoC;IAC7C,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,sBAAa,CAAC,QAAQ,CAAC;IAChD,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACvD,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,0CAA0C;IACnD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACrD,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,qCAAqC;IAC9C,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACjD,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,sBAAa,CAAC,QAAQ,CAAC;IACtD,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,oBAAoB;IAC7B,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Http.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Gateways/Http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"Http.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Gateways/Http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,CAAC,MAAM,WAAW,CAAC;AA4L/B,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,CAG1F"}
|
|
@@ -26,24 +26,36 @@ var EStatus;
|
|
|
26
26
|
EStatus[EStatus["WORKING"] = 2] = "WORKING";
|
|
27
27
|
EStatus[EStatus["CLOSING"] = 3] = "CLOSING";
|
|
28
28
|
})(EStatus || (EStatus = {}));
|
|
29
|
+
const INVALID_REQUEST_RESPONSE = Buffer.from('{"rid":"null","body":INVALID REQUEST,"sst":1698886839989,"srt":0,"code":4}');
|
|
30
|
+
function refuseBadRequest(resp) {
|
|
31
|
+
try {
|
|
32
|
+
resp.writeHead(400, {
|
|
33
|
+
'content-length': INVALID_REQUEST_RESPONSE.byteLength,
|
|
34
|
+
});
|
|
35
|
+
const socket = resp.socket;
|
|
36
|
+
resp.end(INVALID_REQUEST_RESPONSE);
|
|
37
|
+
socket.destroy();
|
|
38
|
+
}
|
|
39
|
+
catch (_a) {
|
|
40
|
+
// do nothing.
|
|
41
|
+
}
|
|
42
|
+
}
|
|
29
43
|
class HttpGateway {
|
|
30
|
-
constructor(
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
44
|
+
constructor(host, port, _backlog) {
|
|
45
|
+
this.host = host;
|
|
46
|
+
this.port = port;
|
|
33
47
|
this._backlog = _backlog;
|
|
34
48
|
this._server = $Http.createServer(this._onRequest.bind(this));
|
|
35
49
|
this._status = EStatus.IDLE;
|
|
36
50
|
}
|
|
37
51
|
_onRequest(req, resp) {
|
|
38
52
|
if (req.method !== 'POST' || !req.headers['content-length']) {
|
|
39
|
-
|
|
40
|
-
resp.socket.destroy();
|
|
53
|
+
refuseBadRequest(resp);
|
|
41
54
|
return;
|
|
42
55
|
}
|
|
43
56
|
const length = parseInt(req.headers['content-length']);
|
|
44
57
|
if (!Number.isSafeInteger(length) || length > G.MAX_PACKET_SIZE) { // Maximum request packet is 64MB
|
|
45
|
-
|
|
46
|
-
resp.socket.destroy();
|
|
58
|
+
refuseBadRequest(resp);
|
|
47
59
|
return;
|
|
48
60
|
}
|
|
49
61
|
const buf = Buffer.allocUnsafe(length);
|
|
@@ -55,19 +67,23 @@ class HttpGateway {
|
|
|
55
67
|
if (offset > length) {
|
|
56
68
|
req.removeAllListeners('end');
|
|
57
69
|
req.removeAllListeners('data');
|
|
58
|
-
|
|
70
|
+
refuseBadRequest(resp);
|
|
59
71
|
return;
|
|
60
72
|
}
|
|
61
73
|
chunk.copy(buf, index);
|
|
62
74
|
}).on('end', () => {
|
|
63
75
|
let input;
|
|
76
|
+
if (offset !== length || buf[0] !== 123 || buf[offset - 1] !== 125) {
|
|
77
|
+
refuseBadRequest(resp);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
64
80
|
try {
|
|
65
81
|
input = JSON.parse(buf);
|
|
66
82
|
input.ip = req.socket.address().address;
|
|
67
83
|
}
|
|
68
84
|
catch (e) {
|
|
85
|
+
refuseBadRequest(resp);
|
|
69
86
|
this.onError(e);
|
|
70
|
-
req.destroy();
|
|
71
87
|
return;
|
|
72
88
|
}
|
|
73
89
|
this.onRequest(input, (content) => {
|
|
@@ -87,10 +103,13 @@ class HttpGateway {
|
|
|
87
103
|
case EStatus.IDLE:
|
|
88
104
|
this._status = EStatus.STARTING;
|
|
89
105
|
return new Promise((resolve, reject) => {
|
|
90
|
-
this._server.listen(this.
|
|
106
|
+
this._server.listen(this.port, this.host, this._backlog)
|
|
91
107
|
.once('listening', () => {
|
|
92
108
|
this._server.removeAllListeners('error');
|
|
93
109
|
this._status = EStatus.WORKING;
|
|
110
|
+
if (this.port === 0) {
|
|
111
|
+
this.port = this._server.address().port;
|
|
112
|
+
}
|
|
94
113
|
resolve();
|
|
95
114
|
})
|
|
96
115
|
.once('error', (e) => {
|
|
@@ -117,7 +136,7 @@ class HttpGateway {
|
|
|
117
136
|
throw new E.E_GATEWAY_CLOSING();
|
|
118
137
|
case EStatus.WORKING:
|
|
119
138
|
return new Promise((resolve) => {
|
|
120
|
-
this._server.close(() => resolve());
|
|
139
|
+
this._server.close(() => { resolve(); });
|
|
121
140
|
});
|
|
122
141
|
}
|
|
123
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Http.js","sourceRoot":"","sources":["../../../src/lib/Server/Gateways/Http.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;
|
|
1
|
+
{"version":3,"file":"Http.js","sourceRoot":"","sources":["../../../src/lib/Server/Gateways/Http.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,5 +14,10 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import * as C from '../Common';
|
|
17
|
+
/**
|
|
18
|
+
* Create a gateway of TCP-base televoke/1 protocol.
|
|
19
|
+
*
|
|
20
|
+
* @deprecated This legacy TCP-based televoke/1 protocol is no longer maintained, and will be removed in v2.0.0
|
|
21
|
+
*/
|
|
17
22
|
export declare function createTCPGateway(host: string, port: number, backlog?: number): C.IGateway;
|
|
18
23
|
//# sourceMappingURL=TCP.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TCP.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Gateways/TCP.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"TCP.d.ts","sourceRoot":"","sources":["../../../src/lib/Server/Gateways/TCP.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,WAAW,CAAC;AAoM/B;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,CAGzF"}
|
|
@@ -33,9 +33,9 @@ var EClientStatus;
|
|
|
33
33
|
EClientStatus[EClientStatus["CLOSING"] = 1] = "CLOSING";
|
|
34
34
|
})(EClientStatus || (EClientStatus = {}));
|
|
35
35
|
class TCPGateway {
|
|
36
|
-
constructor(
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
36
|
+
constructor(host, port, _backlog) {
|
|
37
|
+
this.host = host;
|
|
38
|
+
this.port = port;
|
|
39
39
|
this._backlog = _backlog;
|
|
40
40
|
this._socket = $Net.createServer(this._onConnect.bind(this));
|
|
41
41
|
this._status = EStatus.IDLE;
|
|
@@ -44,8 +44,8 @@ class TCPGateway {
|
|
|
44
44
|
}
|
|
45
45
|
_onConnect(socket) {
|
|
46
46
|
const clientId = this._clientIdCounter++;
|
|
47
|
-
const encoder = Encoder_1.createEncoder();
|
|
48
|
-
const decoder = Decoder_1.createDecoder();
|
|
47
|
+
const encoder = (0, Encoder_1.createEncoder)();
|
|
48
|
+
const decoder = (0, Decoder_1.createDecoder)();
|
|
49
49
|
const client = {
|
|
50
50
|
decoder,
|
|
51
51
|
socket,
|
|
@@ -83,10 +83,13 @@ class TCPGateway {
|
|
|
83
83
|
case EStatus.IDLE:
|
|
84
84
|
this._status = EStatus.STARTING;
|
|
85
85
|
return new Promise((resolve, reject) => {
|
|
86
|
-
this._socket.listen(this.
|
|
86
|
+
this._socket.listen(this.port, this.host, this._backlog)
|
|
87
87
|
.once('listening', () => {
|
|
88
88
|
this._socket.removeAllListeners('error');
|
|
89
89
|
this._status = EStatus.WORKING;
|
|
90
|
+
if (this.port === 0) {
|
|
91
|
+
this.port = this._socket.address().port;
|
|
92
|
+
}
|
|
90
93
|
resolve();
|
|
91
94
|
})
|
|
92
95
|
.once('error', (e) => {
|
|
@@ -113,7 +116,7 @@ class TCPGateway {
|
|
|
113
116
|
throw new E.E_GATEWAY_CLOSING();
|
|
114
117
|
case EStatus.WORKING:
|
|
115
118
|
return new Promise((resolve) => {
|
|
116
|
-
this._socket.close(() => resolve());
|
|
119
|
+
this._socket.close(() => { resolve(); });
|
|
117
120
|
for (const clientId in this._clients) {
|
|
118
121
|
this._closeClient(clientId);
|
|
119
122
|
}
|
|
@@ -131,6 +134,11 @@ class TCPGateway {
|
|
|
131
134
|
delete this._clients[clientId];
|
|
132
135
|
}
|
|
133
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Create a gateway of TCP-base televoke/1 protocol.
|
|
139
|
+
*
|
|
140
|
+
* @deprecated This legacy TCP-based televoke/1 protocol is no longer maintained, and will be removed in v2.0.0
|
|
141
|
+
*/
|
|
134
142
|
function createTCPGateway(host, port, backlog) {
|
|
135
143
|
return new TCPGateway(host, port, backlog);
|
|
136
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TCP.js","sourceRoot":"","sources":["../../../src/lib/Server/Gateways/TCP.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,+BAA+B;AAC/B,4BAA4B;AAC5B,mDAAsD;AACtD,mDAAsD;AAEtD,IAAK,OAMJ;AAND,WAAK,OAAO;IAER,qCAAI,CAAA;IACJ,6CAAQ,CAAA;IACR,2CAAO,CAAA;IACP,2CAAO,CAAA;AACX,CAAC,EANI,OAAO,KAAP,OAAO,QAMX;AAED,IAAK,aAIJ;AAJD,WAAK,aAAa;IAEd,uDAAO,CAAA;IACP,uDAAO,CAAA;AACX,CAAC,EAJI,aAAa,KAAb,aAAa,QAIjB;AAaD,MAAM,UAAU;IAiBZ,
|
|
1
|
+
{"version":3,"file":"TCP.js","sourceRoot":"","sources":["../../../src/lib/Server/Gateways/TCP.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,+BAA+B;AAC/B,4BAA4B;AAC5B,mDAAsD;AACtD,mDAAsD;AAEtD,IAAK,OAMJ;AAND,WAAK,OAAO;IAER,qCAAI,CAAA;IACJ,6CAAQ,CAAA;IACR,2CAAO,CAAA;IACP,2CAAO,CAAA;AACX,CAAC,EANI,OAAO,KAAP,OAAO,QAMX;AAED,IAAK,aAIJ;AAJD,WAAK,aAAa;IAEd,uDAAO,CAAA;IACP,uDAAO,CAAA;AACX,CAAC,EAJI,aAAa,KAAb,aAAa,QAIjB;AAaD,MAAM,UAAU;IAiBZ,YACW,IAAY,EACZ,IAAY,EACF,QAAiB;QAF3B,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QACF,aAAQ,GAAR,QAAQ,CAAS;QAlBrB,YAAO,GAAgB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9E,YAAO,GAAY,OAAO,CAAC,IAAI,CAAC;QAEhC,aAAQ,GAA4B,EAAE,CAAC;QAEvC,qBAAgB,GAAW,CAAC,CAAC;IAalC,CAAC;IAEI,UAAU,CAAC,MAAmB;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,IAAA,uBAAa,GAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAA,uBAAa,GAAc,CAAC;QAC5C,MAAM,MAAM,GAAG;YACX,OAAO;YACP,MAAM;YACN,MAAM,EAAE,aAAa,CAAC,OAAO;YAC7B,KAAK,EAAE,CAAC;SACX,CAAC;QAEF,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,CAAC,CAAU,EAAE,EAAE;YAE5D,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE/B,MAAM,CAAC,OAAO,EAAE,CAAC;YAEjB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE;YAEtB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,EAAE,GAAI,MAAM,CAAC,OAAO,EAAU,CAAC,OAAO,CAAC;YAE5C,IAAI,CAAC,SAAS,CACV,IAAI,EACJ,CAAC,OAAO,EAAE,EAAE;gBAER,IAAI,MAAM,CAAC,QAAQ,EAAE;oBAEjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBACnC;gBAED,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,EAAE;oBAE5D,MAAM,CAAC,GAAG,EAAE,CAAC;iBAChB;YACL,CAAC,CACJ,CAAC;QACN,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QAEjC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAE3D,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC;YACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC,EAAE,CACD,OAAO,EACP,IAAI,CAAC,OAAO,CACf,CAAC,EAAE,CACA,OAAO,EACP,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACvC,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,KAAK;QAEd,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAElC,MAAM,IAAI,CAAC,CAAC,oBAAoB,EAAE,CAAC;SACtC;QAED,QAAQ,IAAI,CAAC,OAAO,EAAE;YAElB,KAAK,OAAO,CAAC,IAAI;gBAEb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAEnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;yBACnD,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;wBAEpB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;wBACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;4BAEjB,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAuB,CAAC,IAAI,CAAC;yBACjE;wBACD,OAAO,EAAE,CAAC;oBACd,CAAC,CAAC;yBACD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wBAEjB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;wBAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;wBAC5B,MAAM,CAAC,CAAC,CAAC,CAAC;oBACd,CAAC,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;YAEP,KAAK,OAAO,CAAC,QAAQ;gBACjB,MAAM,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;YACrC,KAAK,OAAO,CAAC,OAAO;gBAChB,MAAM,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACpC,KAAK,OAAO,CAAC,OAAO;gBAChB,OAAO;SACd;IACL,CAAC;IAEM,KAAK,CAAC,KAAK;QAEd,QAAQ,IAAI,CAAC,OAAO,EAAE;YAElB,KAAK,OAAO,CAAC,IAAI;gBACb,OAAO;YACX,KAAK,OAAO,CAAC,QAAQ;gBACjB,MAAM,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;YACrC,KAAK,OAAO,CAAC,OAAO;gBAChB,MAAM,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACpC,KAAK,OAAO,CAAC,OAAO;gBAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAE3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEzC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;wBAElC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;qBAC/B;gBACL,CAAC,CAAC,CAAC;SACV;IACL,CAAC;IAEO,YAAY,CAAC,QAAyB;QAE1C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE;YAE/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC;SAC1D;aACI;YAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;CACJ;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,IAAY,EAAE,IAAY,EAAE,OAAgB;IAEzE,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAHD,4CAGC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../src/lib/Server/Server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../src/lib/Server/Server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAwP9B,wBAAgB,YAAY,IAAI,CAAC,CAAC,OAAO,CAGxC"}
|
package/lib/Server/Server.js
CHANGED
|
@@ -32,12 +32,20 @@ class Server extends observable_1.Events.EventEmitter {
|
|
|
32
32
|
this._gateways = {};
|
|
33
33
|
this._status = EStatus.IDLE;
|
|
34
34
|
}
|
|
35
|
+
getGateway(name) {
|
|
36
|
+
const ret = this._gateways[name];
|
|
37
|
+
if (!ret) {
|
|
38
|
+
throw new E.E_GATEWAY_NOT_FOUND({ name });
|
|
39
|
+
}
|
|
40
|
+
return ret;
|
|
41
|
+
}
|
|
35
42
|
addGateway(name, gateway) {
|
|
43
|
+
var _a;
|
|
36
44
|
if (this._status !== EStatus.IDLE) {
|
|
37
45
|
throw new E.E_SERVER_BUSY();
|
|
38
46
|
}
|
|
39
47
|
this._gateways[name] = gateway;
|
|
40
|
-
if (gateway.onError
|
|
48
|
+
if ((_a = gateway.onError) !== null && _a !== void 0 ? _a : gateway.onRequest) {
|
|
41
49
|
throw new E.E_GATEWAY_BUSY();
|
|
42
50
|
}
|
|
43
51
|
gateway.onError = (e) => this.emit('error', e);
|
|
@@ -46,22 +54,24 @@ class Server extends observable_1.Events.EventEmitter {
|
|
|
46
54
|
req.srt = Date.now();
|
|
47
55
|
const handler = this._router.route(rawReq.api);
|
|
48
56
|
if (!handler) {
|
|
49
|
-
|
|
57
|
+
reply({
|
|
50
58
|
rid: req.rid,
|
|
51
59
|
srt: req.srt,
|
|
52
60
|
sst: Date.now(),
|
|
53
61
|
code: G.EResponseCode.API_NOT_FOUND,
|
|
54
62
|
body: null
|
|
55
63
|
});
|
|
64
|
+
return;
|
|
56
65
|
}
|
|
57
66
|
if (!this._router.validate(req, handler)) {
|
|
58
|
-
|
|
67
|
+
reply({
|
|
59
68
|
rid: req.rid,
|
|
60
69
|
srt: req.srt,
|
|
61
70
|
sst: Date.now(),
|
|
62
71
|
code: G.EResponseCode.MALFORMED_ARGUMENTS,
|
|
63
72
|
body: null
|
|
64
73
|
});
|
|
74
|
+
return;
|
|
65
75
|
}
|
|
66
76
|
let resultPr;
|
|
67
77
|
try {
|
|
@@ -78,19 +88,23 @@ class Server extends observable_1.Events.EventEmitter {
|
|
|
78
88
|
return;
|
|
79
89
|
}
|
|
80
90
|
if (resultPr instanceof Promise) {
|
|
81
|
-
resultPr.then((body) =>
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
resultPr.then((body) => {
|
|
92
|
+
reply({
|
|
93
|
+
rid: req.rid,
|
|
94
|
+
srt: req.srt,
|
|
95
|
+
sst: Date.now(),
|
|
96
|
+
code: G.EResponseCode.OK,
|
|
97
|
+
body: body !== null && body !== void 0 ? body : null
|
|
98
|
+
});
|
|
99
|
+
}, (err) => {
|
|
100
|
+
reply({
|
|
101
|
+
rid: req.rid,
|
|
102
|
+
srt: req.srt,
|
|
103
|
+
sst: Date.now(),
|
|
104
|
+
code: G.EResponseCode.FAILURE,
|
|
105
|
+
body: err !== null && err !== void 0 ? err : null
|
|
106
|
+
});
|
|
107
|
+
});
|
|
94
108
|
}
|
|
95
109
|
else {
|
|
96
110
|
reply({
|
package/lib/Server/Server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/lib/Server/Server.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,+BAA+B;AAC/B,8BAA8B;AAC9B,mDAA4C;AAE5C,IAAK,OAMJ;AAND,WAAK,OAAO;IAER,qCAAI,CAAA;IACJ,6CAAQ,CAAA;IACR,2CAAO,CAAA;IACP,2CAAO,CAAA;AACX,CAAC,EANI,OAAO,KAAP,OAAO,QAMX;AAED,MAAM,MAAO,SAAQ,mBAAM,CAAC,YAA6B;IAAzD;;QAEY,cAAS,GAA+B,EAAE,CAAC;QAI3C,YAAO,GAAY,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/lib/Server/Server.ts"],"names":[],"mappings":"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"}
|
package/lib/Server/index.js
CHANGED
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
*/
|
|
17
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
18
|
if (k2 === undefined) k2 = k;
|
|
19
|
-
Object.
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
20
24
|
}) : (function(o, m, k, k2) {
|
|
21
25
|
if (k2 === undefined) k2 = k;
|
|
22
26
|
o[k2] = m[k];
|
package/lib/Server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/Server/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/Server/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,iDAA+B;AAC/B,iDAA+B;AAC/B,kDAAgC"}
|
package/lib/index.js
CHANGED
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
*/
|
|
17
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
18
|
if (k2 === undefined) k2 = k;
|
|
19
|
-
Object.
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
20
24
|
}) : (function(o, m, k, k2) {
|
|
21
25
|
if (k2 === undefined) k2 = k;
|
|
22
26
|
o[k2] = m[k];
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,oDAAkC;AAClC,oDAAkC;AAClC,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@litert/televoke",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.7",
|
|
4
4
|
"description": "A simple RPC service framework.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -36,14 +36,12 @@
|
|
|
36
36
|
"types": "lib/index.d.ts",
|
|
37
37
|
"typings": "lib/index.d.ts",
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@commitlint/cli": "^
|
|
40
|
-
"@commitlint/config-conventional": "^
|
|
41
|
-
"@
|
|
42
|
-
"@
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"husky": "^7.0.1",
|
|
46
|
-
"typescript": "^4.3.5"
|
|
39
|
+
"@commitlint/cli": "^17.7.2",
|
|
40
|
+
"@commitlint/config-conventional": "^17.6.6",
|
|
41
|
+
"@litert/eslint-plugin-rules": "^0.1.5",
|
|
42
|
+
"@types/node": "^20.8.4",
|
|
43
|
+
"husky": "^8.0.3",
|
|
44
|
+
"typescript": "^5.2.2"
|
|
47
45
|
},
|
|
48
46
|
"engines": {
|
|
49
47
|
"node": ">=12.0.0"
|
package/src/lib/Client/Common.ts
CHANGED
|
@@ -32,7 +32,8 @@ export interface IResponse<T> extends G.IRawResponse<T> {
|
|
|
32
32
|
crt: number;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
export interface IClient<TAPIs extends G.IServiceAPIs = G.IServiceAPIs>
|
|
35
|
+
export interface IClient<TAPIs extends G.IServiceAPIs = G.IServiceAPIs>
|
|
36
|
+
extends Events.IObservable<Events.ICallbackDefinitions> {
|
|
36
37
|
|
|
37
38
|
connect(): Promise<void>;
|
|
38
39
|
|