@litert/televoke 1.0.0-1 → 1.0.0-10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/docs/Televoke_v2.md +378 -0
  2. package/lib/client/JsonApiClient.impl.js.map +1 -1
  3. package/lib/client/LegacyHttpClient.impl.d.ts +17 -16
  4. package/lib/client/LegacyHttpClient.impl.d.ts.map +1 -1
  5. package/lib/client/LegacyHttpClient.impl.js +25 -11
  6. package/lib/client/LegacyHttpClient.impl.js.map +1 -1
  7. package/lib/server/Server.decl.d.ts +2 -1
  8. package/lib/server/Server.decl.d.ts.map +1 -1
  9. package/lib/server/Server.impl.d.ts +1 -0
  10. package/lib/server/Server.impl.d.ts.map +1 -1
  11. package/lib/server/Server.impl.js +8 -1
  12. package/lib/server/Server.impl.js.map +1 -1
  13. package/lib/server/SimpleJsonApiRouter.d.ts +3 -1
  14. package/lib/server/SimpleJsonApiRouter.d.ts.map +1 -1
  15. package/lib/server/SimpleJsonApiRouter.js +18 -8
  16. package/lib/server/SimpleJsonApiRouter.js.map +1 -1
  17. package/lib/shared/BinaryStream.js.map +1 -1
  18. package/lib/shared/BinaryStreamManager.js.map +1 -1
  19. package/lib/shared/Channel.impl.js.map +1 -1
  20. package/lib/shared/Encodings/v1/EncoderV1.js.map +1 -1
  21. package/lib/shared/Encodings/v2/DecoderV2.js +1 -1
  22. package/lib/shared/Encodings/v2/DecoderV2.js.map +1 -1
  23. package/lib/shared/Encodings/v2/EncoderV2.js +3 -3
  24. package/lib/shared/Encodings/v2/EncoderV2.js.map +1 -1
  25. package/lib/shared/Errors.d.ts +2 -0
  26. package/lib/shared/Errors.d.ts.map +1 -1
  27. package/lib/shared/Errors.js +2 -0
  28. package/lib/shared/Errors.js.map +1 -1
  29. package/lib/shared/Utils.js.map +1 -1
  30. package/lib/transporters/http-listener/HttpListener.d.ts.map +1 -1
  31. package/lib/transporters/http-listener/HttpListener.js +1 -0
  32. package/lib/transporters/http-listener/HttpListener.js.map +1 -1
  33. package/lib/transporters/http-listener/HttpUnixSocketListener.js.map +1 -1
  34. package/lib/transporters/http-listener/HttpsListener.js.map +1 -1
  35. package/lib/transporters/legacy-http/LegacyHttp.Server.d.ts.map +1 -1
  36. package/lib/transporters/legacy-http/LegacyHttp.Server.js +22 -15
  37. package/lib/transporters/legacy-http/LegacyHttp.Server.js.map +1 -1
  38. package/lib/transporters/legacy-http/LegacyHttp.Transporter.js.map +1 -1
  39. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.js.map +1 -1
  40. package/lib/transporters/lwdfx/LwDFX.Tls.Server.js.map +1 -1
  41. package/lib/transporters/lwdfx/LwDFX.Transporter.js.map +1 -1
  42. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.js.map +1 -1
  43. package/lib/transporters/memory/Memory.Impl.js.map +1 -1
  44. package/lib/transporters/websocket/WebSocket.Server.d.ts +11 -1
  45. package/lib/transporters/websocket/WebSocket.Server.d.ts.map +1 -1
  46. package/lib/transporters/websocket/WebSocket.Server.js +4 -3
  47. package/lib/transporters/websocket/WebSocket.Server.js.map +1 -1
  48. package/lib/transporters/websocket/WebSocket.Transporter.js.map +1 -1
  49. package/package.json +8 -8
  50. package/src/lib/client/LegacyHttpClient.impl.ts +51 -31
  51. package/src/lib/server/Server.decl.ts +3 -1
  52. package/src/lib/server/Server.impl.ts +10 -1
  53. package/src/lib/server/SimpleJsonApiRouter.ts +22 -10
  54. package/src/lib/shared/Encodings/v2/DecoderV2.ts +1 -1
  55. package/src/lib/shared/Encodings/v2/EncoderV2.ts +3 -3
  56. package/src/lib/shared/Errors.ts +2 -0
  57. package/src/lib/transporters/http-listener/HttpListener.ts +1 -0
  58. package/src/lib/transporters/legacy-http/LegacyHttp.Server.ts +38 -21
  59. package/src/lib/transporters/websocket/WebSocket.Server.ts +16 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LwDFX.UnixSocket.Server.js","sourceRoot":"","sources":["../../../src/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,uCAAuC;AAGvC,6CAA2C;AAC3C,2DAAuD;AAIvD,MAAM,sBAAuB,SAAQ,0BAAY;IAM7C,YACI,UAAkC,EACjB,YAA4C,EAC5C,OAAmB;QAGpC,KAAK,EAAE,CAAC;QAJS,iBAAY,GAAZ,YAAY,CAAgC;QAC5C,YAAO,GAAP,OAAO,CAAY;QAPhC,aAAQ,GAA+C,IAAI,CAAC;QAYhE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YACnC,GAAG,UAAU;YACb,YAAY,EAAE,CAAC,WAAW,CAAC;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YAExC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,oCAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAW,OAAO;QAEd,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,KAAK;QAEd,IAAI,IAAI,CAAC,QAAQ,EAAE;YAEf,OAAO;SACV;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAErF,IAAI;YAEA,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;SAC/B;QACD,OAAO,CAAC,EAAE;YAEN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,CAAC;SACX;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QAEb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAEhB,OAAO;SACV;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;CACJ;AAED,SAAgB,uBAAuB,CACnC,MAAkB,EAClB,WAA2C,EAC3C,aAAqC,EAAE;IAGvC,OAAO,IAAI,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC;AAPD,0DAOC"}
1
+ {"version":3,"file":"LwDFX.UnixSocket.Server.js","sourceRoot":"","sources":["../../../src/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,uCAAuC;AAGvC,6CAA2C;AAC3C,2DAAuD;AAIvD,MAAM,sBAAuB,SAAQ,0BAAY;IAM7C,YACI,UAAkC,EACjB,YAA4C,EAC5C,OAAmB;QAGpC,KAAK,EAAE,CAAC;QAJS,iBAAY,GAAZ,YAAY,CAAgC;QAC5C,YAAO,GAAP,OAAO,CAAY;QAPhC,aAAQ,GAA+C,IAAI,CAAC;QAYhE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YACnC,GAAG,UAAU;YACb,YAAY,EAAE,CAAC,WAAW,CAAC;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YAExC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,oCAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAW,OAAO;QAEd,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,KAAK;QAEd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEhB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAErF,IAAI,CAAC;YAED,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YAEP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QAEb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEjB,OAAO;QACX,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;CACJ;AAED,SAAgB,uBAAuB,CACnC,MAAkB,EAClB,WAA2C,EAC3C,aAAqC,EAAE;IAGvC,OAAO,IAAI,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC;AAPD,0DAOC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Memory.Impl.js","sourceRoot":"","sources":["../../../src/lib/transporters/memory/Memory.Impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Memory.Impl.js","sourceRoot":"","sources":["../../../src/lib/transporters/memory/Memory.Impl.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,21 @@
15
15
  */
16
16
  import type * as Listener from '../http-listener';
17
17
  import type * as dT from '../Transporter.decl';
18
+ export interface IWebSocketGatewayOptions {
19
+ /**
20
+ * The timeout of WebSocket connections.
21
+ *
22
+ * > Set to 0 to disable timeout.
23
+ *
24
+ * @default 60000
25
+ */
26
+ timeout?: number;
27
+ }
18
28
  /**
19
29
  * Create a WebSocket gateway.
20
30
  *
21
31
  * @param listener The HTTP(S) listener object.
22
32
  * @param server The televoke server object.
23
33
  */
24
- export declare function createWebsocketGateway(listener: Listener.IHttpListener, server: dT.IServer): dT.IGateway;
34
+ export declare function createWebsocketGateway(listener: Listener.IHttpListener, server: dT.IServer, options?: IWebSocketGatewayOptions): dT.IGateway;
25
35
  //# sourceMappingURL=WebSocket.Server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocket.Server.d.ts","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AAIF,OAAO,KAAK,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAsF/C;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAChC,MAAM,EAAE,EAAE,CAAC,OAAO,GACnB,EAAE,CAAC,QAAQ,CAGb"}
1
+ {"version":3,"file":"WebSocket.Server.d.ts","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AAIF,OAAO,KAAK,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAwF/C,MAAM,WAAW,wBAAwB;IAErC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAChC,MAAM,EAAE,EAAE,CAAC,OAAO,EAClB,OAAO,GAAE,wBAA6B,GACvC,EAAE,CAAC,QAAQ,CAGb"}
@@ -21,7 +21,7 @@ const dWS = require("./WebSocket.decl");
21
21
  const node_events_1 = require("node:events");
22
22
  const WebSocket_Transporter_1 = require("./WebSocket.Transporter");
23
23
  class WebSocketGateway extends node_events_1.EventEmitter {
24
- constructor(_listener, _server) {
24
+ constructor(_listener, _server, timeout) {
25
25
  super();
26
26
  this._listener = _listener;
27
27
  this._server = _server;
@@ -56,6 +56,7 @@ class WebSocketGateway extends node_events_1.EventEmitter {
56
56
  .setUpgradeProcessor(this._onUpgrade);
57
57
  this._wsServer = LibWS.createServer({
58
58
  liteFrameMode: true,
59
+ timeout,
59
60
  });
60
61
  }
61
62
  get running() {
@@ -80,8 +81,8 @@ class WebSocketGateway extends node_events_1.EventEmitter {
80
81
  * @param listener The HTTP(S) listener object.
81
82
  * @param server The televoke server object.
82
83
  */
83
- function createWebsocketGateway(listener, server) {
84
- return new WebSocketGateway(listener, server);
84
+ function createWebsocketGateway(listener, server, options = {}) {
85
+ return new WebSocketGateway(listener, server, options.timeout);
85
86
  }
86
87
  exports.createWebsocketGateway = createWebsocketGateway;
87
88
  //# sourceMappingURL=WebSocket.Server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocket.Server.js","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Server.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,2CAA2C;AAC3C,wCAAwC;AAGxC,6CAA2C;AAC3C,mEAA+D;AAE/D,MAAM,gBAAiB,SAAQ,0BAAY;IAIvC,YACqB,SAAiC,EACjC,OAAmB;QAGpC,KAAK,EAAE,CAAC;QAJS,cAAS,GAAT,SAAS,CAAwB;QACjC,YAAO,GAAP,OAAO,CAAY;QAcvB,eAAU,GAA+B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAEtE,IAAI,GAAG,GAAsB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAE,CAAC;YAEzE,IAAI,CAAC,GAAG,EAAE;gBAEN,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAClB,SAAS,EAAE,GAAG;oBACd,QAAQ,EAAE,MAAa;iBAC1B,CAAC,CAAC;gBACH,OAAO;aACV;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAErB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;aACf;YAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE;gBAE3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAClB,SAAS,EAAE,GAAG;oBACd,QAAQ,EAAE,MAAa;iBAC1B,CAAC,CAAC;gBACH,OAAO;aACV;YAED,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC7B,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,MAAa;gBACvB,aAAa,EAAE,GAAG,CAAC,sBAAsB;aAC5C,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,4CAAoB,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC;QA3CE,IAAI,CAAC,SAAS;aACT,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;aACzC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC;YAChC,aAAa,EAAE,IAAI;SACtB,CAAC,CAAC;IACP,CAAC;IAsCD,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,KAAK;QAEd,IAAI,IAAI,CAAC,OAAO,EAAE;YAEd,OAAO;SACV;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,IAAI;QAEb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAEf,OAAO;SACV;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;CACJ;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAClC,QAAgC,EAChC,MAAkB;IAGlB,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAND,wDAMC"}
1
+ {"version":3,"file":"WebSocket.Server.js","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Server.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,2CAA2C;AAC3C,wCAAwC;AAGxC,6CAA2C;AAC3C,mEAA+D;AAE/D,MAAM,gBAAiB,SAAQ,0BAAY;IAIvC,YACqB,SAAiC,EACjC,OAAmB,EACpC,OAAgB;QAGhB,KAAK,EAAE,CAAC;QALS,cAAS,GAAT,SAAS,CAAwB;QACjC,YAAO,GAAP,OAAO,CAAY;QAgBvB,eAAU,GAA+B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAEtE,IAAI,GAAG,GAAsB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAE,CAAC;YAEzE,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEP,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAClB,SAAS,EAAE,GAAG;oBACd,QAAQ,EAAE,MAAa;iBAC1B,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAEtB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAE5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAClB,SAAS,EAAE,GAAG;oBACd,QAAQ,EAAE,MAAa;iBAC1B,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC7B,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,MAAa;gBACvB,aAAa,EAAE,GAAG,CAAC,sBAAsB;aAC5C,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,4CAAoB,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC;QA5CE,IAAI,CAAC,SAAS;aACT,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;aACzC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC;YAChC,aAAa,EAAE,IAAI;YACnB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAsCD,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,KAAK;QAEd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAEf,OAAO;QACX,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,IAAI;QAEb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAEhB,OAAO;QACX,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;CACJ;AAcD;;;;;GAKG;AACH,SAAgB,sBAAsB,CAClC,QAAgC,EAChC,MAAkB,EAClB,UAAoC,EAAE;IAGtC,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AACnE,CAAC;AAPD,wDAOC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocket.Transporter.js","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Transporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSocket.Transporter.js","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Transporter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@litert/televoke",
3
- "version": "1.0.0-1",
3
+ "version": "1.0.0-10",
4
4
  "description": "A simple RPC service framework.",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -32,16 +32,16 @@
32
32
  "types": "lib/index.d.ts",
33
33
  "typings": "lib/index.d.ts",
34
34
  "devDependencies": {
35
- "@commitlint/cli": "^18.4.1",
36
- "@commitlint/config-conventional": "^18.4.0",
35
+ "@commitlint/cli": "^18.4.3",
36
+ "@commitlint/config-conventional": "^18.4.3",
37
37
  "@litert/eslint-plugin-rules": "^0.1.6",
38
- "@litert/lwdfx": "^1.1.1",
39
- "@litert/websocket": "^0.1.0",
40
- "@types/mocha": "^10.0.4",
41
- "@types/node": "^20.9.0",
38
+ "@litert/lwdfx": "^1.1.3",
39
+ "@litert/websocket": "^0.1.1",
40
+ "@types/mocha": "^10.0.6",
41
+ "@types/node": "^20.10.4",
42
42
  "husky": "^8.0.3",
43
43
  "mocha": "^10.2.0",
44
- "typescript": "^5.2.2"
44
+ "typescript": "^5.3.3"
45
45
  },
46
46
  "engines": {
47
47
  "node": ">=18.0.0"
@@ -36,7 +36,8 @@ class TvLegacyHttpClient extends EventEmitter implements C.IClient<any> {
36
36
  private readonly _request: (opts: any, cb: (resp: $Http.IncomingMessage) => void) => $Http.ClientRequest,
37
37
  private readonly _opts: $Https.RequestOptions,
38
38
  private readonly _agent: $Http.Agent,
39
- private readonly _apiNameWrapper?: (name: string) => string
39
+ private readonly _retryOnConnReset: boolean = true,
40
+ private readonly _apiNameWrapper?: (name: string) => string,
40
41
  ) {
41
42
 
42
43
  super();
@@ -75,7 +76,26 @@ class TvLegacyHttpClient extends EventEmitter implements C.IClient<any> {
75
76
  return Promise.reject(new Shared.errors.cmd_not_impl());
76
77
  }
77
78
 
78
- public invoke(api: any, ...args: any[]): Promise<any> {
79
+ public async invoke(api: any, ...args: any[]): Promise<any> {
80
+
81
+ try {
82
+
83
+ return await this._invoke(api, ...args);
84
+ }
85
+ catch (e) {
86
+
87
+ if (this._retryOnConnReset && (e as any)?.code === 'ECONNRESET') {
88
+
89
+ return this._invoke(api, ...args);
90
+ }
91
+ else {
92
+
93
+ throw e;
94
+ }
95
+ }
96
+ }
97
+
98
+ private _invoke(api: any, ...args: any[]): Promise<any> {
79
99
 
80
100
  const CST = Date.now();
81
101
 
@@ -84,7 +104,7 @@ class TvLegacyHttpClient extends EventEmitter implements C.IClient<any> {
84
104
  rid: 0,
85
105
  cst: CST,
86
106
  args,
87
- api: this._apiNameWrapper ? this._apiNameWrapper(api) : api
107
+ api: this._apiNameWrapper?.(api) ?? api
88
108
  });
89
109
 
90
110
  return new Promise((resolve, reject) => {
@@ -174,7 +194,7 @@ class TvLegacyHttpClient extends EventEmitter implements C.IClient<any> {
174
194
  case v1.EResponseCode.MALFORMED_ARGUMENTS:
175
195
  case v1.EResponseCode.SYSTEM_ERROR:
176
196
  default:
177
- reject(new Shared.errors.unknown({
197
+ reject(new Shared.errors.server_internal_error({
178
198
  api, ...data
179
199
  }));
180
200
  break;
@@ -207,7 +227,7 @@ class TvLegacyHttpClient extends EventEmitter implements C.IClient<any> {
207
227
  }
208
228
  }
209
229
 
210
- export interface IHttpClientNetworkOptions extends $Https.RequestOptions {
230
+ interface IHttpClientOptionsBase extends $Https.RequestOptions {
211
231
 
212
232
  /**
213
233
  * Whether to use HTTPS.
@@ -217,44 +237,43 @@ export interface IHttpClientNetworkOptions extends $Https.RequestOptions {
217
237
  https?: boolean;
218
238
 
219
239
  /**
220
- * The hostname of HTTP server.
240
+ * Wrap the API name before sending to server.
221
241
  *
222
- * @default 'localhost'
242
+ * @default null
223
243
  */
224
- hostname: string;
244
+ apiNameWrapper?: (name: string) => string;
225
245
 
226
246
  /**
227
- * The port of HTTP server.
247
+ * Whether to retry on connection reset.
228
248
  *
229
- * @default 80 or 443
249
+ * @default true
230
250
  */
231
- port?: number;
251
+ retryOnConnReset?: boolean;
252
+ }
253
+
254
+ export interface IHttpClientNetworkOptions extends IHttpClientOptionsBase {
232
255
 
233
256
  /**
234
- * The path to the RPC entry.
257
+ * The hostname of HTTP server.
235
258
  *
236
- * @default '/'
259
+ * @default 'localhost'
237
260
  */
238
- path?: string;
239
-
240
- apiNameWrapper?: (name: string) => string;
241
- }
242
-
243
- export interface IHttpClientUnixSocketOptions extends $Https.RequestOptions {
261
+ hostname: string;
244
262
 
245
263
  /**
246
- * Whether to use HTTPS.
264
+ * The port of HTTP server.
247
265
  *
248
- * > Always `false` for Unix domain socket.
266
+ * @default 80 or 443
249
267
  */
250
- https?: false;
268
+ port?: number;
269
+ }
270
+
271
+ export interface IHttpClientUnixSocketOptions extends IHttpClientOptionsBase {
251
272
 
252
273
  /**
253
274
  * The path of Unix domain socket to connect to.
254
275
  */
255
276
  socketPath: string;
256
-
257
- apiNameWrapper?: (name: string) => string;
258
277
  }
259
278
 
260
279
  export type IHttpClientOptions = IHttpClientNetworkOptions | IHttpClientUnixSocketOptions;
@@ -265,14 +284,15 @@ export function createLegacyHttpClient<TAPIs extends Shared.IObject>(opts: IHttp
265
284
  opts.https ? $Https.request : $Http.request,
266
285
  opts,
267
286
  opts.https ? new $Https.Agent({
268
- maxSockets: 0,
269
- keepAlive: true,
270
- keepAliveMsecs: DEFAULT_TIMEOUT
287
+ 'maxSockets': 0,
288
+ 'keepAlive': true,
289
+ 'keepAliveMsecs': DEFAULT_TIMEOUT
271
290
  }) : new $Http.Agent({
272
- maxSockets: 0,
273
- keepAlive: true,
274
- keepAliveMsecs: DEFAULT_TIMEOUT
291
+ 'maxSockets': 0,
292
+ 'keepAlive': true,
293
+ 'keepAliveMsecs': DEFAULT_TIMEOUT
275
294
  }),
276
- opts.apiNameWrapper
295
+ opts.retryOnConnReset,
296
+ opts.apiNameWrapper,
277
297
  );
278
298
  }
@@ -41,7 +41,7 @@ export type IRouteApiCallback = (response: string | Buffer | Array<string | Buff
41
41
 
42
42
  export type IRouteLegacyApiCallback = (response: unknown | Shared.TvErrorResponse | Shared.TelevokeError) => void;
43
43
 
44
- export interface IRouter {
44
+ export interface IRouter extends Shared.IEventListener<Shared.IDefaultEvents> {
45
45
 
46
46
  /**
47
47
  * The encoding of the API request/response.
@@ -82,6 +82,8 @@ export interface IRouter {
82
82
  export interface IServerEvents extends Shared.IDefaultEvents {
83
83
 
84
84
  channel(channel: IChannel): void;
85
+
86
+ warning(error: unknown, channel?: IChannel): void;
85
87
  }
86
88
 
87
89
  export interface IServer extends Shared.IEventListener<IServerEvents> {
@@ -35,11 +35,19 @@ export class TvServer extends EventEmitter implements dS.IServer, dT.IServer {
35
35
  private readonly _streamManagerFactory: Shared.IStreamManagerFactory = Shared.createSharedStreamManagerFactory()
36
36
  ) {
37
37
  super();
38
+ this.router.on('error', this._onRouterError);
38
39
  }
39
40
 
41
+ private readonly _onRouterError = (e: unknown): void => {
42
+
43
+ this.emit('error', e);
44
+ };
45
+
40
46
  public setRouter(router: dS.IRouter): void {
41
47
 
42
- this.router = router;
48
+ this.router?.off('error', this._onRouterError);
49
+ this.router = router
50
+ .on('error', this._onRouterError);
43
51
  }
44
52
 
45
53
  public registerChannel(transporter: dT.ITransporter): void {
@@ -60,6 +68,7 @@ export class TvServer extends EventEmitter implements dS.IServer, dT.IServer {
60
68
  });
61
69
  })
62
70
  .on('error', (err) => this.emit('error', err))
71
+ .on('warning', (err) => this.emit('warning', err, this._channels[id]))
63
72
  .on('close', () => { delete this._channels[id]; });
64
73
  }
65
74
 
@@ -17,12 +17,13 @@
17
17
  import type * as dS from './Server.decl';
18
18
  import * as Shared from '../shared';
19
19
  import { buffer2json } from '../shared/Utils';
20
+ import { EventEmitter } from 'node:events';
20
21
 
21
22
  export type ISimpleJsonApiHandler = (ctx: dS.IRequestContext, ...args: any[]) => unknown;
22
23
 
23
24
  export type ISimpleJsonMessageHandler = (ctx: dS.IRequestContext, msg: unknown) => unknown;
24
25
 
25
- export class SimpleJsonApiRouter implements dS.IRouter {
26
+ export class SimpleJsonApiRouter extends EventEmitter implements dS.IRouter {
26
27
 
27
28
  public get encoding(): string {
28
29
 
@@ -65,8 +66,18 @@ export class SimpleJsonApiRouter implements dS.IRouter {
65
66
  if (result instanceof Promise) {
66
67
 
67
68
  result.then(
68
- (data) => { cb(JSON.stringify(data)); },
69
- (e) => { this._processError(cb, e); },
69
+ (data) => {
70
+
71
+ try {
72
+
73
+ cb(JSON.stringify(data ?? null));
74
+ }
75
+ catch (e) {
76
+
77
+ this._processError(cb, e, name);
78
+ }
79
+ },
80
+ (e) => { this._processError(cb, e, name); },
70
81
  );
71
82
  }
72
83
  else {
@@ -76,11 +87,11 @@ export class SimpleJsonApiRouter implements dS.IRouter {
76
87
  }
77
88
  catch (e) {
78
89
 
79
- this._processError(cb, e);
90
+ this._processError(cb, e, name);
80
91
  }
81
92
  }
82
93
 
83
- private _processError(cb: dS.IRouteApiCallback, e: unknown): void {
94
+ private _processError(cb: dS.IRouteApiCallback, e: unknown, name: string): void {
84
95
 
85
96
  if (e instanceof Shared.TelevokeError) {
86
97
 
@@ -90,11 +101,12 @@ export class SimpleJsonApiRouter implements dS.IRouter {
90
101
 
91
102
  if (e instanceof Shared.TvErrorResponse) {
92
103
 
93
- cb(new Shared.errors.app_error(JSON.stringify(e.data)));
104
+ cb(new Shared.errors.app_error(JSON.stringify(e.data ?? null)));
94
105
  return;
95
106
  }
96
107
 
97
- cb(new Shared.errors.app_error('null'));
108
+ cb(new Shared.errors.server_internal_error());
109
+ this.emit('error', new Shared.errors.unprocessable_error({ api: name }, e));
98
110
  }
99
111
 
100
112
  public processLegacyApi(
@@ -118,8 +130,8 @@ export class SimpleJsonApiRouter implements dS.IRouter {
118
130
  if (result instanceof Promise) {
119
131
 
120
132
  result.then(
121
- (data) => { cb(data); },
122
- (e) => { this._processError(cb, e); },
133
+ (data) => { cb(data ?? null); },
134
+ (e) => { this._processError(cb, e, name); },
123
135
  );
124
136
  }
125
137
  else {
@@ -129,7 +141,7 @@ export class SimpleJsonApiRouter implements dS.IRouter {
129
141
  }
130
142
  catch (e) {
131
143
 
132
- this._processError(cb, e);
144
+ this._processError(cb, e, name);
133
145
  }
134
146
  }
135
147
  }
@@ -234,7 +234,7 @@ class TvPushMessageRequestDecoder implements IPacketDecoder {
234
234
  'cmd': CSv2.ECommand.PUSH_MESSAGE,
235
235
  'typ': CSv2.EPacketType.REQUEST,
236
236
  'seq': ctx.seq,
237
- 'ct': readVarBuffer16(ctx)
237
+ 'ct': readVarBuffer(ctx)
238
238
  } satisfies dEnc2.IPushMessageRequestPacket;
239
239
  }
240
240
  }
@@ -174,7 +174,7 @@ class PushMessageRequestEncoder implements IPacketEncoder {
174
174
 
175
175
  public encode(packet: dEnc2.IPushMessageRequestPacket): v2.IDataChunkArray {
176
176
 
177
- const leadSeg = Buffer.allocUnsafe(CS.HEADER_SIZE + 2);
177
+ const leadSeg = Buffer.allocUnsafe(CS.HEADER_SIZE + 4);
178
178
 
179
179
  writePacketHeader(leadSeg, packet.cmd, packet.typ, packet.seq);
180
180
 
@@ -187,12 +187,12 @@ class PushMessageRequestEncoder implements IPacketEncoder {
187
187
  bodyLen += Buffer.byteLength(p);
188
188
  }
189
189
 
190
- leadSeg.writeUInt16LE(bodyLen, CS.HEADER_SIZE);
190
+ leadSeg.writeUInt32LE(bodyLen, CS.HEADER_SIZE);
191
191
 
192
192
  return [leadSeg, ...packet.ct];
193
193
  }
194
194
 
195
- leadSeg.writeUInt16LE(Buffer.byteLength(packet.ct), CS.HEADER_SIZE);
195
+ leadSeg.writeUInt32LE(Buffer.byteLength(packet.ct), CS.HEADER_SIZE);
196
196
 
197
197
  return [leadSeg, packet.ct];
198
198
  }
@@ -75,8 +75,10 @@ const errorCtors = {
75
75
  ...defineProtocolError('stream_closed'),
76
76
  ...defineProtocolError('stream_index_mismatch'),
77
77
  ...defineProtocolError('system_busy'),
78
+ ...defineProtocolError('server_internal_error'),
78
79
  ...defineProtocolError('timeout'),
79
80
  ...defineProtocolError('unknown'),
81
+ ...defineProtocolError('unprocessable_error'),
80
82
 
81
83
  ['app_error']: class AppError extends TelevokeError {
82
84
 
@@ -74,6 +74,7 @@ class HttpListener extends AbstractHttpListener {
74
74
  }
75
75
 
76
76
  const gateway = this._gateway;
77
+ this._gateway = null;
77
78
 
78
79
  return new Promise<void>((resolve, reject) => {
79
80
 
@@ -27,7 +27,7 @@ const encoder = new v1.TvEncoderV1();
27
27
  const INVALID_REQUEST_RESPONSE = Buffer.from(encoder.encodeApiErrorResponse(
28
28
  'null',
29
29
  Shared.Encodings.v1.EResponseCode.MALFORMED_ARGUMENTS,
30
- 'INVALID REQUEST',
30
+ '"INVALID REQUEST"',
31
31
  0
32
32
  ));
33
33
 
@@ -76,6 +76,19 @@ class LegacyHttpGateway extends EventEmitter implements dT.IGateway {
76
76
  .setLegacyApiProcessor(this._onRequest);
77
77
  }
78
78
 
79
+ private _sendResponse(resp: Http.ServerResponse, data: string): void {
80
+
81
+ try {
82
+
83
+ resp.setHeader('content-length', Buffer.byteLength(data));
84
+ resp.end(data);
85
+ }
86
+ catch (e) {
87
+
88
+ this.emit('error', e);
89
+ }
90
+ }
91
+
79
92
  public get running(): boolean {
80
93
 
81
94
  return this._listener.running;
@@ -159,7 +172,6 @@ class LegacyHttpGateway extends EventEmitter implements dT.IGateway {
159
172
  refuseBadRequest(resp);
160
173
  this.emit('error', new Shared.errors.invalid_packet({
161
174
  reason: 'invalid_json',
162
- data: buf,
163
175
  }, e));
164
176
  return;
165
177
  }
@@ -169,7 +181,6 @@ class LegacyHttpGateway extends EventEmitter implements dT.IGateway {
169
181
  refuseBadRequest(resp);
170
182
  this.emit('error', new Shared.errors.invalid_packet({
171
183
  reason: 'malformed_json',
172
- data: input,
173
184
  }));
174
185
  return;
175
186
  }
@@ -185,48 +196,54 @@ class LegacyHttpGateway extends EventEmitter implements dT.IGateway {
185
196
 
186
197
  if (result instanceof Shared.errors.app_error) {
187
198
 
188
- const data = encoder.encodeApiErrorResponse(
199
+ this._sendResponse(resp, encoder.encodeApiErrorResponse(
189
200
  input.rid,
190
201
  v1.EResponseCode.FAILURE,
191
202
  result.message,
192
203
  recvAt
193
- );
194
-
195
- resp.setHeader('content-length', Buffer.byteLength(data));
196
- resp.end(data);
204
+ ));
197
205
  }
198
206
  else if (result instanceof Shared.errors.api_not_found) {
199
207
 
200
- const data = encoder.encodeApiErrorResponse(
208
+ this._sendResponse(resp, encoder.encodeApiErrorResponse(
201
209
  input.rid,
202
210
  v1.EResponseCode.API_NOT_FOUND,
203
211
  'null',
204
212
  recvAt
205
- );
206
-
207
- resp.setHeader('content-length', Buffer.byteLength(data));
208
- resp.end(data);
213
+ ));
209
214
  }
210
215
  else {
211
216
 
212
- const data = encoder.encodeApiErrorResponse(
217
+ this._sendResponse(resp, encoder.encodeApiErrorResponse(
213
218
  input.rid,
214
219
  v1.EResponseCode.SYSTEM_ERROR,
215
220
  'null',
216
221
  recvAt
217
- );
218
-
219
- resp.setHeader('content-length', Buffer.byteLength(data));
220
- resp.end(data);
222
+ ));
221
223
  }
222
224
 
223
225
  return;
224
226
  }
225
227
 
226
- const data = encoder.encodeApiOkResponse(input.rid, result ?? null, recvAt);
228
+ let data: string;
229
+
230
+ try {
231
+
232
+ data = encoder.encodeApiOkResponse(input.rid, result ?? null, recvAt);
233
+ }
234
+ catch (e) {
235
+
236
+ data = encoder.encodeApiErrorResponse(
237
+ input.rid,
238
+ v1.EResponseCode.SYSTEM_ERROR,
239
+ 'null',
240
+ recvAt
241
+ );
242
+
243
+ this.emit('error', new Shared.errors.unprocessable_error({ api: input.api }, e));
244
+ }
227
245
 
228
- resp.setHeader('content-length', Buffer.byteLength(data));
229
- resp.end(data);
246
+ this._sendResponse(resp, data);
230
247
 
231
248
  }, input.api, input.args, new LegacyHttpTransporter(req));
232
249
  });