@litert/televoke 0.4.6 → 1.0.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/CHANGES.md +6 -0
  2. package/README.md +13 -8
  3. package/lib/client/Client.decl.d.ts +47 -0
  4. package/lib/client/Client.decl.d.ts.map +1 -0
  5. package/lib/client/Client.decl.js +18 -0
  6. package/lib/client/Client.decl.js.map +1 -0
  7. package/lib/client/JsonApiClient.impl.d.ts +28 -0
  8. package/lib/client/JsonApiClient.impl.d.ts.map +1 -0
  9. package/lib/client/JsonApiClient.impl.js +169 -0
  10. package/lib/client/JsonApiClient.impl.js.map +1 -0
  11. package/lib/client/LegacyHttpClient.impl.d.ts +62 -0
  12. package/lib/client/LegacyHttpClient.impl.d.ts.map +1 -0
  13. package/lib/client/LegacyHttpClient.impl.js +163 -0
  14. package/lib/client/LegacyHttpClient.impl.js.map +1 -0
  15. package/lib/client/index.d.ts +19 -0
  16. package/lib/client/index.d.ts.map +1 -0
  17. package/lib/client/index.js +35 -0
  18. package/lib/client/index.js.map +1 -0
  19. package/lib/index.d.ts +18 -20
  20. package/lib/index.d.ts.map +1 -1
  21. package/lib/index.js +19 -20
  22. package/lib/index.js.map +1 -1
  23. package/lib/server/LegacyServerChannel.impl.d.ts +38 -0
  24. package/lib/server/LegacyServerChannel.impl.d.ts.map +1 -0
  25. package/lib/server/LegacyServerChannel.impl.js +51 -0
  26. package/lib/server/LegacyServerChannel.impl.js.map +1 -0
  27. package/lib/server/Server.decl.d.ts +81 -0
  28. package/lib/server/Server.decl.d.ts.map +1 -0
  29. package/lib/server/Server.decl.js +18 -0
  30. package/lib/server/Server.decl.js.map +1 -0
  31. package/lib/server/Server.impl.d.ts +33 -0
  32. package/lib/server/Server.impl.d.ts.map +1 -0
  33. package/lib/server/Server.impl.js +58 -0
  34. package/lib/server/Server.impl.js.map +1 -0
  35. package/lib/server/ServerChannel.d.ts +20 -0
  36. package/lib/server/ServerChannel.d.ts.map +1 -0
  37. package/lib/server/ServerChannel.js +23 -0
  38. package/lib/server/ServerChannel.js.map +1 -0
  39. package/lib/server/SimpleJsonApiRouter.d.ts +28 -0
  40. package/lib/server/SimpleJsonApiRouter.d.ts.map +1 -0
  41. package/lib/server/SimpleJsonApiRouter.js +92 -0
  42. package/lib/server/SimpleJsonApiRouter.js.map +1 -0
  43. package/lib/server/index.d.ts +19 -0
  44. package/lib/server/index.d.ts.map +1 -0
  45. package/lib/server/index.js +35 -0
  46. package/lib/server/index.js.map +1 -0
  47. package/lib/shared/BinaryStream.d.ts +32 -0
  48. package/lib/shared/BinaryStream.d.ts.map +1 -0
  49. package/lib/shared/BinaryStream.js +93 -0
  50. package/lib/shared/BinaryStream.js.map +1 -0
  51. package/lib/shared/BinaryStreamManager.d.ts +52 -0
  52. package/lib/shared/BinaryStreamManager.d.ts.map +1 -0
  53. package/lib/shared/BinaryStreamManager.js +105 -0
  54. package/lib/shared/BinaryStreamManager.js.map +1 -0
  55. package/lib/shared/Channel.impl.d.ts +79 -0
  56. package/lib/shared/Channel.impl.d.ts.map +1 -0
  57. package/lib/shared/Channel.impl.js +433 -0
  58. package/lib/shared/Channel.impl.js.map +1 -0
  59. package/lib/shared/Constants.d.ts +32 -0
  60. package/lib/shared/Constants.d.ts.map +1 -0
  61. package/lib/shared/Constants.js +35 -0
  62. package/lib/shared/Constants.js.map +1 -0
  63. package/lib/shared/Encodings/index.d.ts +18 -0
  64. package/lib/shared/Encodings/index.d.ts.map +1 -0
  65. package/lib/shared/Encodings/index.js +21 -0
  66. package/lib/shared/Encodings/index.js.map +1 -0
  67. package/lib/shared/Encodings/v1/EncoderV1.d.ts +22 -0
  68. package/lib/shared/Encodings/v1/EncoderV1.d.ts.map +1 -0
  69. package/lib/shared/Encodings/v1/EncoderV1.js +47 -0
  70. package/lib/shared/Encodings/v1/EncoderV1.js.map +1 -0
  71. package/lib/shared/Encodings/v1/Protocol.v1.decls.d.ts +78 -0
  72. package/lib/shared/Encodings/v1/Protocol.v1.decls.d.ts.map +1 -0
  73. package/lib/shared/Encodings/v1/Protocol.v1.decls.js +53 -0
  74. package/lib/shared/Encodings/v1/Protocol.v1.decls.js.map +1 -0
  75. package/lib/shared/Encodings/v1/index.d.ts +18 -0
  76. package/lib/shared/Encodings/v1/index.d.ts.map +1 -0
  77. package/lib/shared/Encodings/v1/index.js +34 -0
  78. package/lib/shared/Encodings/v1/index.js.map +1 -0
  79. package/lib/shared/Encodings/v2/Constants.v2.d.ts +29 -0
  80. package/lib/shared/Encodings/v2/Constants.v2.d.ts.map +1 -0
  81. package/lib/shared/Encodings/v2/Constants.v2.js +34 -0
  82. package/lib/shared/Encodings/v2/Constants.v2.js.map +1 -0
  83. package/lib/shared/Encodings/v2/DecoderV2.d.ts +27 -0
  84. package/lib/shared/Encodings/v2/DecoderV2.d.ts.map +1 -0
  85. package/lib/shared/Encodings/v2/DecoderV2.js +279 -0
  86. package/lib/shared/Encodings/v2/DecoderV2.js.map +1 -0
  87. package/lib/shared/Encodings/v2/EncoderV2.d.ts +21 -0
  88. package/lib/shared/Encodings/v2/EncoderV2.d.ts.map +1 -0
  89. package/lib/shared/Encodings/v2/EncoderV2.js +176 -0
  90. package/lib/shared/Encodings/v2/EncoderV2.js.map +1 -0
  91. package/lib/shared/Encodings/v2/Encoding.v2.decl.d.ts +95 -0
  92. package/lib/shared/Encodings/v2/Encoding.v2.decl.d.ts.map +1 -0
  93. package/lib/shared/Encodings/v2/Encoding.v2.decl.js +18 -0
  94. package/lib/shared/Encodings/v2/Encoding.v2.decl.js.map +1 -0
  95. package/lib/shared/Encodings/v2/index.d.ts +20 -0
  96. package/lib/shared/Encodings/v2/index.d.ts.map +1 -0
  97. package/lib/shared/Encodings/v2/index.js +35 -0
  98. package/lib/shared/Encodings/v2/index.js.map +1 -0
  99. package/lib/shared/Errors.d.ts +60 -0
  100. package/lib/shared/Errors.d.ts.map +1 -0
  101. package/lib/shared/Errors.js +75 -0
  102. package/lib/shared/Errors.js.map +1 -0
  103. package/lib/shared/Shared.decl.d.ts +296 -0
  104. package/lib/shared/Shared.decl.d.ts.map +1 -0
  105. package/lib/shared/Shared.decl.js +18 -0
  106. package/lib/shared/Shared.decl.js.map +1 -0
  107. package/lib/shared/Utils.d.ts +25 -0
  108. package/lib/shared/Utils.d.ts.map +1 -0
  109. package/lib/shared/Utils.js +46 -0
  110. package/lib/shared/Utils.js.map +1 -0
  111. package/lib/shared/index.d.ts +23 -0
  112. package/lib/shared/index.d.ts.map +1 -0
  113. package/lib/shared/index.js +39 -0
  114. package/lib/shared/index.js.map +1 -0
  115. package/lib/transporters/Transporter.decl.d.ts +90 -0
  116. package/lib/transporters/Transporter.decl.d.ts.map +1 -0
  117. package/lib/transporters/Transporter.decl.js +18 -0
  118. package/lib/transporters/Transporter.decl.js.map +1 -0
  119. package/lib/transporters/http-listener/AbstractHttpListener.d.ts +32 -0
  120. package/lib/transporters/http-listener/AbstractHttpListener.d.ts.map +1 -0
  121. package/lib/transporters/http-listener/AbstractHttpListener.js +46 -0
  122. package/lib/transporters/http-listener/AbstractHttpListener.js.map +1 -0
  123. package/lib/transporters/http-listener/Http.Decl.d.ts +95 -0
  124. package/lib/transporters/http-listener/Http.Decl.d.ts.map +1 -0
  125. package/lib/transporters/http-listener/Http.Decl.js +52 -0
  126. package/lib/transporters/http-listener/Http.Decl.js.map +1 -0
  127. package/lib/transporters/http-listener/HttpListener.d.ts +18 -0
  128. package/lib/transporters/http-listener/HttpListener.d.ts.map +1 -0
  129. package/lib/transporters/http-listener/HttpListener.js +73 -0
  130. package/lib/transporters/http-listener/HttpListener.js.map +1 -0
  131. package/lib/transporters/http-listener/HttpUnixSocketListener.d.ts +18 -0
  132. package/lib/transporters/http-listener/HttpUnixSocketListener.d.ts.map +1 -0
  133. package/lib/transporters/http-listener/HttpUnixSocketListener.js +72 -0
  134. package/lib/transporters/http-listener/HttpUnixSocketListener.js.map +1 -0
  135. package/lib/transporters/http-listener/HttpsListener.d.ts +18 -0
  136. package/lib/transporters/http-listener/HttpsListener.d.ts.map +1 -0
  137. package/lib/transporters/http-listener/HttpsListener.js +73 -0
  138. package/lib/transporters/http-listener/HttpsListener.js.map +1 -0
  139. package/lib/transporters/http-listener/index.d.ts +20 -0
  140. package/lib/transporters/http-listener/index.d.ts.map +1 -0
  141. package/lib/transporters/http-listener/index.js +36 -0
  142. package/lib/transporters/http-listener/index.js.map +1 -0
  143. package/lib/transporters/index.d.ts +17 -0
  144. package/lib/transporters/index.d.ts.map +1 -0
  145. package/lib/transporters/index.js +18 -0
  146. package/lib/transporters/index.js.map +1 -0
  147. package/lib/transporters/legacy-http/LegacyHttp.Server.d.ts +24 -0
  148. package/lib/transporters/legacy-http/LegacyHttp.Server.d.ts.map +1 -0
  149. package/lib/transporters/legacy-http/LegacyHttp.Server.js +167 -0
  150. package/lib/transporters/legacy-http/LegacyHttp.Server.js.map +1 -0
  151. package/lib/transporters/legacy-http/LegacyHttp.Transporter.d.ts +28 -0
  152. package/lib/transporters/legacy-http/LegacyHttp.Transporter.d.ts.map +1 -0
  153. package/lib/transporters/legacy-http/LegacyHttp.Transporter.js +55 -0
  154. package/lib/transporters/legacy-http/LegacyHttp.Transporter.js.map +1 -0
  155. package/lib/transporters/legacy-http/index.d.ts +18 -0
  156. package/lib/transporters/legacy-http/index.d.ts.map +1 -0
  157. package/lib/transporters/legacy-http/index.js +34 -0
  158. package/lib/transporters/legacy-http/index.js.map +1 -0
  159. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.d.ts +19 -0
  160. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.d.ts.map +1 -0
  161. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.js +33 -0
  162. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.js.map +1 -0
  163. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.d.ts +21 -0
  164. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.d.ts.map +1 -0
  165. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.js +64 -0
  166. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.js.map +1 -0
  167. package/lib/transporters/lwdfx/LwDFX.Tls.Client.d.ts +19 -0
  168. package/lib/transporters/lwdfx/LwDFX.Tls.Client.d.ts.map +1 -0
  169. package/lib/transporters/lwdfx/LwDFX.Tls.Client.js +33 -0
  170. package/lib/transporters/lwdfx/LwDFX.Tls.Client.js.map +1 -0
  171. package/lib/transporters/lwdfx/LwDFX.Tls.Server.d.ts +21 -0
  172. package/lib/transporters/lwdfx/LwDFX.Tls.Server.d.ts.map +1 -0
  173. package/lib/transporters/lwdfx/LwDFX.Tls.Server.js +64 -0
  174. package/lib/transporters/lwdfx/LwDFX.Tls.Server.js.map +1 -0
  175. package/lib/transporters/lwdfx/LwDFX.Transporter.d.ts +34 -0
  176. package/lib/transporters/lwdfx/LwDFX.Transporter.d.ts.map +1 -0
  177. package/lib/transporters/lwdfx/LwDFX.Transporter.js +78 -0
  178. package/lib/transporters/lwdfx/LwDFX.Transporter.js.map +1 -0
  179. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.d.ts +19 -0
  180. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.d.ts.map +1 -0
  181. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.js +33 -0
  182. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.js.map +1 -0
  183. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.d.ts +21 -0
  184. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.d.ts.map +1 -0
  185. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.js +64 -0
  186. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.js.map +1 -0
  187. package/lib/transporters/lwdfx/LwDFX.decl.d.ts +18 -0
  188. package/lib/transporters/lwdfx/LwDFX.decl.d.ts.map +1 -0
  189. package/lib/transporters/lwdfx/LwDFX.decl.js +18 -0
  190. package/lib/transporters/lwdfx/LwDFX.decl.js.map +1 -0
  191. package/lib/transporters/lwdfx/index.d.ts +23 -0
  192. package/lib/transporters/lwdfx/index.d.ts.map +1 -0
  193. package/lib/transporters/lwdfx/index.js +39 -0
  194. package/lib/transporters/lwdfx/index.js.map +1 -0
  195. package/lib/transporters/memory/Memory.Impl.d.ts +43 -0
  196. package/lib/transporters/memory/Memory.Impl.d.ts.map +1 -0
  197. package/lib/transporters/memory/Memory.Impl.js +227 -0
  198. package/lib/transporters/memory/Memory.Impl.js.map +1 -0
  199. package/lib/transporters/memory/index.d.ts +17 -0
  200. package/lib/transporters/memory/index.d.ts.map +1 -0
  201. package/lib/transporters/memory/index.js +33 -0
  202. package/lib/transporters/memory/index.js.map +1 -0
  203. package/lib/transporters/websocket/WebSocket.Client.d.ts +20 -0
  204. package/lib/transporters/websocket/WebSocket.Client.d.ts.map +1 -0
  205. package/lib/transporters/websocket/WebSocket.Client.js +68 -0
  206. package/lib/transporters/websocket/WebSocket.Client.js.map +1 -0
  207. package/lib/transporters/websocket/WebSocket.Server.d.ts +25 -0
  208. package/lib/transporters/websocket/WebSocket.Server.d.ts.map +1 -0
  209. package/lib/transporters/websocket/WebSocket.Server.js +87 -0
  210. package/lib/transporters/websocket/WebSocket.Server.js.map +1 -0
  211. package/lib/transporters/websocket/WebSocket.Transporter.d.ts +34 -0
  212. package/lib/transporters/websocket/WebSocket.Transporter.d.ts.map +1 -0
  213. package/lib/transporters/websocket/WebSocket.Transporter.js +106 -0
  214. package/lib/transporters/websocket/WebSocket.Transporter.js.map +1 -0
  215. package/lib/transporters/websocket/WebSocket.decl.d.ts +19 -0
  216. package/lib/transporters/websocket/WebSocket.decl.d.ts.map +1 -0
  217. package/lib/transporters/websocket/WebSocket.decl.js +22 -0
  218. package/lib/transporters/websocket/WebSocket.decl.js.map +1 -0
  219. package/lib/transporters/websocket/index.d.ts +19 -0
  220. package/lib/transporters/websocket/index.d.ts.map +1 -0
  221. package/lib/transporters/websocket/index.js +35 -0
  222. package/lib/transporters/websocket/index.js.map +1 -0
  223. package/package.json +12 -12
  224. package/src/lib/client/Client.decl.ts +61 -0
  225. package/src/lib/client/JsonApiClient.impl.ts +258 -0
  226. package/src/lib/client/LegacyHttpClient.impl.ts +278 -0
  227. package/src/lib/client/index.ts +19 -0
  228. package/src/lib/index.ts +18 -20
  229. package/src/lib/server/LegacyServerChannel.impl.ts +71 -0
  230. package/src/lib/server/Server.decl.ts +109 -0
  231. package/src/lib/server/Server.impl.ts +90 -0
  232. package/src/lib/server/ServerChannel.ts +20 -0
  233. package/src/lib/server/SimpleJsonApiRouter.ts +135 -0
  234. package/src/lib/server/index.ts +19 -0
  235. package/src/lib/shared/BinaryStream.ts +131 -0
  236. package/src/lib/shared/BinaryStreamManager.ts +142 -0
  237. package/src/lib/shared/Channel.impl.ts +641 -0
  238. package/src/lib/shared/Constants.ts +35 -0
  239. package/src/lib/shared/Encodings/index.ts +18 -0
  240. package/src/lib/shared/Encodings/v1/EncoderV1.ts +66 -0
  241. package/src/lib/shared/Encodings/v1/Protocol.v1.decls.ts +96 -0
  242. package/src/lib/shared/Encodings/v1/index.ts +18 -0
  243. package/src/lib/shared/Encodings/v2/Constants.v2.ts +31 -0
  244. package/src/lib/shared/Encodings/v2/DecoderV2.ts +404 -0
  245. package/src/lib/shared/Encodings/v2/EncoderV2.ts +283 -0
  246. package/src/lib/shared/Encodings/v2/Encoding.v2.decl.ts +133 -0
  247. package/src/lib/shared/Encodings/v2/index.ts +20 -0
  248. package/src/lib/shared/Errors.ts +94 -0
  249. package/src/lib/shared/Shared.decl.ts +347 -0
  250. package/src/lib/shared/Utils.ts +51 -0
  251. package/src/lib/shared/index.ts +23 -0
  252. package/src/lib/transporters/Transporter.decl.ts +117 -0
  253. package/src/lib/transporters/http-listener/AbstractHttpListener.ts +57 -0
  254. package/src/lib/transporters/http-listener/Http.Decl.ts +141 -0
  255. package/src/lib/transporters/http-listener/HttpListener.ts +102 -0
  256. package/src/lib/transporters/http-listener/HttpUnixSocketListener.ts +97 -0
  257. package/src/lib/transporters/http-listener/HttpsListener.ts +102 -0
  258. package/src/lib/transporters/http-listener/index.ts +20 -0
  259. package/src/lib/transporters/index.ts +17 -0
  260. package/src/lib/transporters/legacy-http/LegacyHttp.Server.ts +262 -0
  261. package/src/lib/transporters/legacy-http/LegacyHttp.Transporter.ts +66 -0
  262. package/src/lib/transporters/legacy-http/index.ts +18 -0
  263. package/src/lib/transporters/lwdfx/LwDFX.Tcp.Client.ts +34 -0
  264. package/src/lib/transporters/lwdfx/LwDFX.Tcp.Server.ts +94 -0
  265. package/src/lib/transporters/lwdfx/LwDFX.Tls.Client.ts +34 -0
  266. package/src/lib/transporters/lwdfx/LwDFX.Tls.Server.ts +94 -0
  267. package/src/lib/transporters/lwdfx/LwDFX.Transporter.ts +100 -0
  268. package/src/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.ts +34 -0
  269. package/src/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.ts +94 -0
  270. package/src/lib/transporters/lwdfx/LwDFX.decl.ts +19 -0
  271. package/src/lib/transporters/lwdfx/index.ts +23 -0
  272. package/src/lib/transporters/memory/Memory.Impl.ts +363 -0
  273. package/src/lib/transporters/memory/index.ts +17 -0
  274. package/src/lib/transporters/websocket/WebSocket.Client.ts +76 -0
  275. package/src/lib/transporters/websocket/WebSocket.Server.ts +118 -0
  276. package/src/lib/transporters/websocket/WebSocket.Transporter.ts +132 -0
  277. package/src/lib/transporters/websocket/WebSocket.decl.ts +21 -0
  278. package/src/lib/transporters/websocket/index.ts +19 -0
  279. package/lib/Client/BuiltInRIDGenerator.d.ts +0 -4
  280. package/lib/Client/BuiltInRIDGenerator.d.ts.map +0 -1
  281. package/lib/Client/BuiltInRIDGenerator.js +0 -18
  282. package/lib/Client/BuiltInRIDGenerator.js.map +0 -1
  283. package/lib/Client/Common.d.ts +0 -47
  284. package/lib/Client/Common.d.ts.map +0 -1
  285. package/lib/Client/Common.js +0 -18
  286. package/lib/Client/Common.js.map +0 -1
  287. package/lib/Client/Errors.d.ts +0 -26
  288. package/lib/Client/Errors.d.ts.map +0 -1
  289. package/lib/Client/Errors.js +0 -80
  290. package/lib/Client/Errors.js.map +0 -1
  291. package/lib/Client/HttpClient.d.ts +0 -37
  292. package/lib/Client/HttpClient.d.ts.map +0 -1
  293. package/lib/Client/HttpClient.js +0 -148
  294. package/lib/Client/HttpClient.js.map +0 -1
  295. package/lib/Client/HttpsClient.d.ts +0 -40
  296. package/lib/Client/HttpsClient.d.ts.map +0 -1
  297. package/lib/Client/HttpsClient.js +0 -144
  298. package/lib/Client/HttpsClient.js.map +0 -1
  299. package/lib/Client/TCPClient.d.ts +0 -34
  300. package/lib/Client/TCPClient.d.ts.map +0 -1
  301. package/lib/Client/TCPClient.js +0 -271
  302. package/lib/Client/TCPClient.js.map +0 -1
  303. package/lib/Client/TLSClient.d.ts +0 -34
  304. package/lib/Client/TLSClient.d.ts.map +0 -1
  305. package/lib/Client/TLSClient.js +0 -265
  306. package/lib/Client/TLSClient.js.map +0 -1
  307. package/lib/Client/index.d.ts +0 -23
  308. package/lib/Client/index.d.ts.map +0 -1
  309. package/lib/Client/index.js +0 -39
  310. package/lib/Client/index.js.map +0 -1
  311. package/lib/Common/API.d.ts +0 -19
  312. package/lib/Common/API.d.ts.map +0 -1
  313. package/lib/Common/API.js +0 -18
  314. package/lib/Common/API.js.map +0 -1
  315. package/lib/Common/Encoding.d.ts +0 -32
  316. package/lib/Common/Encoding.d.ts.map +0 -1
  317. package/lib/Common/Encoding.js +0 -20
  318. package/lib/Common/Encoding.js.map +0 -1
  319. package/lib/Common/Request.d.ts +0 -23
  320. package/lib/Common/Request.d.ts.map +0 -1
  321. package/lib/Common/Request.js +0 -18
  322. package/lib/Common/Request.js.map +0 -1
  323. package/lib/Common/Response.d.ts +0 -60
  324. package/lib/Common/Response.d.ts.map +0 -1
  325. package/lib/Common/Response.js +0 -42
  326. package/lib/Common/Response.js.map +0 -1
  327. package/lib/Common/index.d.ts +0 -20
  328. package/lib/Common/index.d.ts.map +0 -1
  329. package/lib/Common/index.js +0 -36
  330. package/lib/Common/index.js.map +0 -1
  331. package/lib/Encoder/Decoder.d.ts +0 -18
  332. package/lib/Encoder/Decoder.d.ts.map +0 -1
  333. package/lib/Encoder/Decoder.js +0 -136
  334. package/lib/Encoder/Decoder.js.map +0 -1
  335. package/lib/Encoder/Encoder.d.ts +0 -18
  336. package/lib/Encoder/Encoder.d.ts.map +0 -1
  337. package/lib/Encoder/Encoder.js +0 -35
  338. package/lib/Encoder/Encoder.js.map +0 -1
  339. package/lib/Encoder/Errors.d.ts +0 -17
  340. package/lib/Encoder/Errors.d.ts.map +0 -1
  341. package/lib/Encoder/Errors.js +0 -26
  342. package/lib/Encoder/Errors.js.map +0 -1
  343. package/lib/Errors.d.ts +0 -20
  344. package/lib/Errors.d.ts.map +0 -1
  345. package/lib/Errors.js +0 -40
  346. package/lib/Errors.js.map +0 -1
  347. package/lib/Server/Common/Gateway.d.ts +0 -26
  348. package/lib/Server/Common/Gateway.d.ts.map +0 -1
  349. package/lib/Server/Common/Gateway.js +0 -18
  350. package/lib/Server/Common/Gateway.js.map +0 -1
  351. package/lib/Server/Common/Request.d.ts +0 -21
  352. package/lib/Server/Common/Request.d.ts.map +0 -1
  353. package/lib/Server/Common/Request.js +0 -18
  354. package/lib/Server/Common/Request.js.map +0 -1
  355. package/lib/Server/Common/Router.d.ts +0 -41
  356. package/lib/Server/Common/Router.d.ts.map +0 -1
  357. package/lib/Server/Common/Router.js +0 -18
  358. package/lib/Server/Common/Router.js.map +0 -1
  359. package/lib/Server/Common/Server.d.ts +0 -57
  360. package/lib/Server/Common/Server.d.ts.map +0 -1
  361. package/lib/Server/Common/Server.js +0 -18
  362. package/lib/Server/Common/Server.js.map +0 -1
  363. package/lib/Server/Common/index.d.ts +0 -20
  364. package/lib/Server/Common/index.d.ts.map +0 -1
  365. package/lib/Server/Common/index.js +0 -36
  366. package/lib/Server/Common/index.js.map +0 -1
  367. package/lib/Server/Errors.d.ts +0 -25
  368. package/lib/Server/Errors.d.ts.map +0 -1
  369. package/lib/Server/Errors.js +0 -74
  370. package/lib/Server/Errors.js.map +0 -1
  371. package/lib/Server/Gateways/Http.d.ts +0 -18
  372. package/lib/Server/Gateways/Http.d.ts.map +0 -1
  373. package/lib/Server/Gateways/Http.js +0 -144
  374. package/lib/Server/Gateways/Http.js.map +0 -1
  375. package/lib/Server/Gateways/TCP.d.ts +0 -23
  376. package/lib/Server/Gateways/TCP.d.ts.map +0 -1
  377. package/lib/Server/Gateways/TCP.js +0 -146
  378. package/lib/Server/Gateways/TCP.js.map +0 -1
  379. package/lib/Server/Server.d.ts +0 -18
  380. package/lib/Server/Server.d.ts.map +0 -1
  381. package/lib/Server/Server.js +0 -200
  382. package/lib/Server/Server.js.map +0 -1
  383. package/lib/Server/SimpleRouter.d.ts +0 -41
  384. package/lib/Server/SimpleRouter.d.ts.map +0 -1
  385. package/lib/Server/SimpleRouter.js +0 -54
  386. package/lib/Server/SimpleRouter.js.map +0 -1
  387. package/lib/Server/index.d.ts +0 -22
  388. package/lib/Server/index.d.ts.map +0 -1
  389. package/lib/Server/index.js +0 -38
  390. package/lib/Server/index.js.map +0 -1
  391. package/src/lib/Client/BuiltInRIDGenerator.ts +0 -21
  392. package/src/lib/Client/Common.ts +0 -63
  393. package/src/lib/Client/Errors.ts +0 -87
  394. package/src/lib/Client/HttpClient.ts +0 -232
  395. package/src/lib/Client/HttpsClient.ts +0 -238
  396. package/src/lib/Client/TCPClient.ts +0 -420
  397. package/src/lib/Client/TLSClient.ts +0 -422
  398. package/src/lib/Client/index.ts +0 -23
  399. package/src/lib/Common/API.ts +0 -20
  400. package/src/lib/Common/Encoding.ts +0 -42
  401. package/src/lib/Common/Request.ts +0 -28
  402. package/src/lib/Common/Response.ts +0 -67
  403. package/src/lib/Common/index.ts +0 -20
  404. package/src/lib/Encoder/Decoder.ts +0 -206
  405. package/src/lib/Encoder/Encoder.ts +0 -41
  406. package/src/lib/Encoder/Errors.ts +0 -24
  407. package/src/lib/Errors.ts +0 -40
  408. package/src/lib/Server/Common/Gateway.ts +0 -37
  409. package/src/lib/Server/Common/Request.ts +0 -24
  410. package/src/lib/Server/Common/Router.ts +0 -52
  411. package/src/lib/Server/Common/Server.ts +0 -68
  412. package/src/lib/Server/Common/index.ts +0 -20
  413. package/src/lib/Server/Errors.ts +0 -80
  414. package/src/lib/Server/Gateways/Http.ts +0 -203
  415. package/src/lib/Server/Gateways/TCP.ts +0 -221
  416. package/src/lib/Server/Server.ts +0 -268
  417. package/src/lib/Server/SimpleRouter.ts +0 -95
  418. package/src/lib/Server/index.ts +0 -22
@@ -1,203 +0,0 @@
1
- /**
2
- * Copyright 2021 Angus.Fenying <fenying@litert.org>
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- import * as $Net from 'net';
18
- import * as C from '../Common';
19
- import * as G from '../../Common';
20
- import * as E from '../Errors';
21
- import * as $Http from 'http';
22
-
23
- enum EStatus {
24
-
25
- IDLE,
26
- STARTING,
27
- WORKING,
28
- CLOSING,
29
- }
30
-
31
- const INVALID_REQUEST_RESPONSE = Buffer.from('{"rid":"null","body":INVALID REQUEST,"sst":1698886839989,"srt":0,"code":4}');
32
-
33
- function refuseBadRequest(resp: $Http.ServerResponse): void {
34
-
35
- try {
36
-
37
- resp.writeHead(400, {
38
- 'content-length': INVALID_REQUEST_RESPONSE.byteLength,
39
- });
40
- const socket = resp.socket!;
41
- resp.end(INVALID_REQUEST_RESPONSE);
42
- socket.destroy();
43
- }
44
- catch {
45
-
46
- // do nothing.
47
- }
48
- }
49
-
50
- class HttpGateway implements C.IGateway {
51
-
52
- private readonly _server: $Http.Server = $Http.createServer(this._onRequest.bind(this));
53
-
54
- private _status: EStatus = EStatus.IDLE;
55
-
56
- public onError!: (e: unknown) => void;
57
-
58
- public onRequest!: (
59
- request: G.IRawRequest,
60
- reply: (data: any) => void
61
- ) => void;
62
-
63
- public constructor(
64
- public host: string,
65
- public port: number,
66
- private readonly _backlog?: number,
67
- ) { }
68
-
69
- private _onRequest(req: $Http.IncomingMessage, resp: $Http.ServerResponse): void {
70
-
71
- if (req.method !== 'POST' || !req.headers['content-length']) {
72
-
73
- refuseBadRequest(resp);
74
- return;
75
- }
76
-
77
- const length = parseInt(req.headers['content-length']);
78
-
79
- if (!Number.isSafeInteger(length) || length > G.MAX_PACKET_SIZE) { // Maximum request packet is 64MB
80
-
81
- refuseBadRequest(resp);
82
- return;
83
- }
84
-
85
- const buf: Buffer = Buffer.allocUnsafe(length);
86
-
87
- let offset: number = 0;
88
-
89
- resp.on('error', this.onError);
90
-
91
- req.on('error', this.onError).on('data', (chunk: Buffer) => {
92
-
93
- const index = offset;
94
-
95
- offset += chunk.byteLength;
96
-
97
- if (offset > length) {
98
-
99
- req.removeAllListeners('end');
100
- req.removeAllListeners('data');
101
- refuseBadRequest(resp);
102
- return;
103
- }
104
-
105
- chunk.copy(buf, index);
106
- }).on('end', () => {
107
-
108
- let input: any;
109
-
110
- try {
111
-
112
- input = JSON.parse(buf as any);
113
- input.ip = (req.socket.address() as any).address;
114
- }
115
- catch (e) {
116
-
117
- refuseBadRequest(resp);
118
- this.onError(e);
119
- return;
120
- }
121
-
122
- this.onRequest(
123
- input,
124
- (content) => {
125
-
126
- if (resp.writable) {
127
-
128
- const data = JSON.stringify(content);
129
-
130
- resp.setHeader('content-length', Buffer.byteLength(data));
131
- resp.end(data);
132
- }
133
- }
134
- );
135
- });
136
- }
137
-
138
- public async start(): Promise<void> {
139
-
140
- if (!this.onError || !this.onRequest) {
141
-
142
- throw new E.E_NO_SERVER_ATTACHED();
143
- }
144
-
145
- switch (this._status) {
146
-
147
- case EStatus.IDLE:
148
-
149
- this._status = EStatus.STARTING;
150
-
151
- return new Promise((resolve, reject) => {
152
-
153
- this._server.listen(this.port, this.host, this._backlog)
154
- .once('listening', () => {
155
-
156
- this._server.removeAllListeners('error');
157
- this._status = EStatus.WORKING;
158
- if (this.port === 0) {
159
-
160
- this.port = (this._server.address() as $Net.AddressInfo).port;
161
- }
162
- resolve();
163
- })
164
- .once('error', (e) => {
165
-
166
- this._server.removeAllListeners('listening');
167
- this._status = EStatus.IDLE;
168
- reject(e);
169
- });
170
- });
171
-
172
- case EStatus.STARTING:
173
- throw new E.E_GATEWAY_STARTING();
174
- case EStatus.CLOSING:
175
- throw new E.E_GATEWAY_CLOSING();
176
- case EStatus.WORKING:
177
- return;
178
- }
179
- }
180
-
181
- public async close(): Promise<void> {
182
-
183
- switch (this._status) {
184
-
185
- case EStatus.IDLE:
186
- return;
187
- case EStatus.STARTING:
188
- throw new E.E_GATEWAY_STARTING();
189
- case EStatus.CLOSING:
190
- throw new E.E_GATEWAY_CLOSING();
191
- case EStatus.WORKING:
192
- return new Promise((resolve) => {
193
-
194
- this._server.close(() => { resolve(); });
195
- });
196
- }
197
- }
198
- }
199
-
200
- export function createHttpGateway(host: string, port: number, backlog?: number): C.IGateway {
201
-
202
- return new HttpGateway(host, port, backlog);
203
- }
@@ -1,221 +0,0 @@
1
- /**
2
- * Copyright 2021 Angus.Fenying <fenying@litert.org>
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- import * as C from '../Common';
18
- import * as G from '../../Common';
19
- import * as E from '../Errors';
20
- import * as $Net from 'net';
21
- import { createEncoder } from '../../Encoder/Encoder';
22
- import { createDecoder } from '../../Encoder/Decoder';
23
-
24
- enum EStatus {
25
-
26
- IDLE,
27
- STARTING,
28
- WORKING,
29
- CLOSING,
30
- }
31
-
32
- enum EClientStatus {
33
-
34
- WORKING,
35
- CLOSING,
36
- }
37
-
38
- interface IClient {
39
-
40
- socket: $Net.Socket;
41
-
42
- decoder: G.IDecoder<C.IRequest>;
43
-
44
- status: EClientStatus;
45
-
46
- loads: number;
47
- }
48
-
49
- class TCPGateway implements C.IGateway {
50
-
51
- private readonly _socket: $Net.Server = $Net.createServer(this._onConnect.bind(this));
52
-
53
- private _status: EStatus = EStatus.IDLE;
54
-
55
- private _clients: Record<string, IClient> = {};
56
-
57
- private _clientIdCounter: number = 0;
58
-
59
- public onError!: (e: unknown) => void;
60
-
61
- public onRequest!: (
62
- request: G.IRawRequest,
63
- reply: (data: any) => void
64
- ) => void;
65
-
66
- public constructor(
67
- public host: string,
68
- public port: number,
69
- private readonly _backlog?: number,
70
- ) {}
71
-
72
- private _onConnect(socket: $Net.Socket): void {
73
-
74
- const clientId = this._clientIdCounter++;
75
-
76
- const encoder = createEncoder();
77
- const decoder = createDecoder<C.IRequest>();
78
- const client = {
79
- decoder,
80
- socket,
81
- status: EClientStatus.WORKING,
82
- loads: 0
83
- };
84
-
85
- decoder.onLogicError = decoder.onProtocolError = (e: unknown) => {
86
-
87
- delete this._clients[clientId];
88
-
89
- socket.destroy();
90
-
91
- this.onError(e);
92
- };
93
-
94
- decoder.onData = (data) => {
95
-
96
- client.loads++;
97
- data.ip = (socket.address() as any).address;
98
-
99
- this.onRequest(
100
- data,
101
- (content) => {
102
-
103
- if (socket.writable) {
104
-
105
- encoder.encode(socket, content);
106
- }
107
-
108
- if (!--client.loads && client.status === EClientStatus.CLOSING) {
109
-
110
- socket.end();
111
- }
112
- }
113
- );
114
- };
115
-
116
- this._clients[clientId] = client;
117
-
118
- socket.on('data', decoder.decode.bind(decoder)).on('end', () => {
119
-
120
- client.status = EClientStatus.CLOSING;
121
- delete this._clients[clientId];
122
- }).on(
123
- 'error',
124
- this.onError
125
- ).on(
126
- 'close',
127
- () => delete this._clients[clientId]
128
- );
129
- }
130
-
131
- public async start(): Promise<void> {
132
-
133
- if (!this.onError || !this.onRequest) {
134
-
135
- throw new E.E_NO_SERVER_ATTACHED();
136
- }
137
-
138
- switch (this._status) {
139
-
140
- case EStatus.IDLE:
141
-
142
- this._status = EStatus.STARTING;
143
-
144
- return new Promise((resolve, reject) => {
145
-
146
- this._socket.listen(this.port, this.host, this._backlog)
147
- .once('listening', () => {
148
-
149
- this._socket.removeAllListeners('error');
150
- this._status = EStatus.WORKING;
151
- if (this.port === 0) {
152
-
153
- this.port = (this._socket.address() as $Net.AddressInfo).port;
154
- }
155
- resolve();
156
- })
157
- .once('error', (e) => {
158
-
159
- this._socket.removeAllListeners('listening');
160
- this._status = EStatus.IDLE;
161
- reject(e);
162
- });
163
- });
164
-
165
- case EStatus.STARTING:
166
- throw new E.E_GATEWAY_STARTING();
167
- case EStatus.CLOSING:
168
- throw new E.E_GATEWAY_CLOSING();
169
- case EStatus.WORKING:
170
- return;
171
- }
172
- }
173
-
174
- public async close(): Promise<void> {
175
-
176
- switch (this._status) {
177
-
178
- case EStatus.IDLE:
179
- return;
180
- case EStatus.STARTING:
181
- throw new E.E_GATEWAY_STARTING();
182
- case EStatus.CLOSING:
183
- throw new E.E_GATEWAY_CLOSING();
184
- case EStatus.WORKING:
185
- return new Promise((resolve) => {
186
-
187
- this._socket.close(() => { resolve(); });
188
-
189
- for (const clientId in this._clients) {
190
-
191
- this._closeClient(clientId);
192
- }
193
- });
194
- }
195
- }
196
-
197
- private _closeClient(clientId: string | number): void {
198
-
199
- if (this._clients[clientId].loads) {
200
-
201
- this._clients[clientId].decoder.onData = () => void 0;
202
- this._clients[clientId].status = EClientStatus.CLOSING;
203
- }
204
- else {
205
-
206
- this._clients[clientId].socket.end();
207
- }
208
-
209
- delete this._clients[clientId];
210
- }
211
- }
212
-
213
- /**
214
- * Create a gateway of TCP-base televoke/1 protocol.
215
- *
216
- * @deprecated This legacy TCP-based televoke/1 protocol is no longer maintained, and will be removed in v2.0.0
217
- */
218
- export function createTCPGateway(host: string, port: number, backlog?: number): C.IGateway {
219
-
220
- return new TCPGateway(host, port, backlog);
221
- }
@@ -1,268 +0,0 @@
1
- /**
2
- * Copyright 2021 Angus.Fenying <fenying@litert.org>
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- import * as C from './Common';
18
- import * as G from '../Common';
19
- import * as E from './Errors';
20
- import { Events } from '@litert/observable';
21
-
22
- enum EStatus {
23
-
24
- IDLE,
25
- STARTING,
26
- WORKING,
27
- CLOSING,
28
- }
29
-
30
- class Server extends Events.EventEmitter<C.IServerEvents> implements C.IServer {
31
-
32
- private _gateways: Record<string, C.IGateway> = {};
33
-
34
- private _router!: C.IRouter;
35
-
36
- private _status: EStatus = EStatus.IDLE;
37
-
38
- public getGateway(name: string): C.IGateway {
39
-
40
- const ret = this._gateways[name];
41
-
42
- if (!ret) {
43
-
44
- throw new E.E_GATEWAY_NOT_FOUND({ name });
45
- }
46
-
47
- return ret;
48
- }
49
-
50
- public addGateway(name: string, gateway: C.IGateway): this {
51
-
52
- if (this._status !== EStatus.IDLE) {
53
-
54
- throw new E.E_SERVER_BUSY();
55
- }
56
-
57
- this._gateways[name] = gateway;
58
-
59
- if (gateway.onError ?? gateway.onRequest) {
60
-
61
- throw new E.E_GATEWAY_BUSY();
62
- }
63
-
64
- gateway.onError = (e) => this.emit('error', e);
65
- gateway.onRequest = (rawReq, reply) => {
66
-
67
- const req = rawReq as C.IRequest;
68
-
69
- req.srt = Date.now();
70
-
71
- const handler = this._router.route(rawReq.api);
72
-
73
- if (!handler) {
74
-
75
- reply({
76
- rid: req.rid,
77
- srt: req.srt,
78
- sst: Date.now(),
79
- code: G.EResponseCode.API_NOT_FOUND,
80
- body: null
81
- });
82
- return;
83
- }
84
-
85
- if (!this._router.validate(req, handler)) {
86
-
87
- reply({
88
- rid: req.rid,
89
- srt: req.srt,
90
- sst: Date.now(),
91
- code: G.EResponseCode.MALFORMED_ARGUMENTS,
92
- body: null
93
- });
94
- return;
95
- }
96
-
97
- let resultPr: any;
98
-
99
- try {
100
-
101
- resultPr = this._router.execute(req, handler);
102
- }
103
- catch (e) {
104
-
105
- reply({
106
- rid: req.rid,
107
- srt: req.srt,
108
- sst: Date.now(),
109
- code: G.EResponseCode.FAILURE,
110
- body: e ?? null
111
- });
112
-
113
- return;
114
- }
115
-
116
- if (resultPr instanceof Promise) {
117
-
118
- resultPr.then(
119
- (body) => {
120
- reply({
121
- rid: req.rid,
122
- srt: req.srt,
123
- sst: Date.now(),
124
- code: G.EResponseCode.OK,
125
- body: body ?? null
126
- });
127
- },
128
- (err) => {
129
- reply({
130
- rid: req.rid,
131
- srt: req.srt,
132
- sst: Date.now(),
133
- code: G.EResponseCode.FAILURE,
134
- body: err ?? null
135
- });
136
- }
137
- );
138
- }
139
- else {
140
-
141
- reply({
142
- rid: req.rid,
143
- srt: req.srt,
144
- sst: Date.now(),
145
- code: G.EResponseCode.OK,
146
- body: resultPr ?? null
147
- });
148
- }
149
- };
150
-
151
- return this;
152
- }
153
-
154
- public removeGateway(name: string): this {
155
-
156
- if (this._status !== EStatus.IDLE) {
157
-
158
- throw new E.E_SERVER_BUSY();
159
- }
160
-
161
- const gateway = this._gateways[name];
162
-
163
- if (gateway) {
164
-
165
- delete this._gateways[name];
166
-
167
- delete gateway.onRequest;
168
- delete gateway.onError;
169
- }
170
-
171
- return this;
172
- }
173
-
174
- public setRouter(router: C.IRouter): this {
175
-
176
- if (this._status !== EStatus.IDLE) {
177
-
178
- throw new E.E_SERVER_BUSY();
179
- }
180
-
181
- this._router = router;
182
- return this;
183
- }
184
-
185
- public async start(): Promise<void> {
186
-
187
- if (!this.listenerCount('error')
188
- || !this.listenerCount('handler_error')
189
- || !this._router
190
- || !Object.values(this._gateways).length
191
- ) {
192
-
193
- throw new E.E_SERVER_NOT_READY();
194
- }
195
-
196
- switch (this._status) {
197
- case EStatus.IDLE: {
198
-
199
- this._status = EStatus.STARTING;
200
-
201
- try {
202
-
203
- const gateways = Object.keys(this._gateways);
204
-
205
- await Promise.all(gateways.map(
206
- (k) => this._gateways[k].start()
207
- ));
208
-
209
- this._status = EStatus.WORKING;
210
- }
211
- catch (e) {
212
-
213
- await this._doClose();
214
- this._status = EStatus.IDLE;
215
- throw e;
216
- }
217
-
218
- break;
219
- }
220
- case EStatus.STARTING:
221
- throw new E.E_SERVER_STARTING();
222
- case EStatus.CLOSING:
223
- throw new E.E_SERVER_CLOSING();
224
- case EStatus.WORKING:
225
- return;
226
- }
227
- }
228
-
229
- private async _doClose(): Promise<void> {
230
-
231
- await Promise.all(Object.values(this._gateways).map((k) => k.close()));
232
-
233
- this._status = EStatus.IDLE;
234
- }
235
-
236
- public async close(): Promise<void> {
237
-
238
- switch (this._status) {
239
- case EStatus.WORKING: {
240
-
241
- this._status = EStatus.CLOSING;
242
-
243
- try {
244
-
245
- await this._doClose();
246
- }
247
- catch (e) {
248
-
249
- this._status = EStatus.WORKING;
250
- throw e;
251
- }
252
-
253
- break;
254
- }
255
- case EStatus.STARTING:
256
- throw new E.E_SERVER_STARTING();
257
- case EStatus.CLOSING:
258
- throw new E.E_SERVER_CLOSING();
259
- case EStatus.IDLE:
260
- return;
261
- }
262
- }
263
- }
264
-
265
- export function createServer(): C.IServer {
266
-
267
- return new Server();
268
- }