@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
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Copyright 2023 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 LwDFX from '@litert/lwdfx';
18
+ import type * as dT from '../Transporter.decl';
19
+ import { LwDFXTransporter } from './LwDFX.Transporter';
20
+
21
+ class LwDfxUnixSocketConnector implements dT.IConnector {
22
+
23
+ public constructor(private readonly _opts: LwDFX.UnixSocket.IUnixSocketClientOptions) {}
24
+
25
+ public async connect(): Promise<dT.ITransporter> {
26
+
27
+ return new LwDFXTransporter('lwdfx/unix', await LwDFX.UnixSocket.connect(this._opts));
28
+ }
29
+ }
30
+
31
+ export function createUnixSocketConnector(opts: LwDFX.UnixSocket.IUnixSocketClientOptions): dT.IConnector {
32
+
33
+ return new LwDfxUnixSocketConnector(opts);
34
+ }
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Copyright 2023 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 LwDFX from '@litert/lwdfx';
18
+ import type * as dT from '../Transporter.decl';
19
+ import type * as dL from './LwDFX.decl';
20
+ import { EventEmitter } from 'node:events';
21
+ import { LwDFXTransporter } from './LwDFX.Transporter';
22
+
23
+ export type ILwDfxUnixSocketGatewayOptions = LwDFX.UnixSocket.IUnixSocketGatewayOptions;
24
+
25
+ class LwDfxUnixSocketGateway extends EventEmitter implements dT.IGateway {
26
+
27
+ private _gateway: LwDFX.UnixSocket.IUnixSocketGateway | null = null;
28
+
29
+ private readonly _lwdfxServer: LwDFX.IServer;
30
+
31
+ public constructor(
32
+ serverOpts: dL.ILwDfxServerOptions,
33
+ private readonly _gatewayOpts: ILwDfxUnixSocketGatewayOptions,
34
+ private readonly _server: dT.IServer,
35
+ ) {
36
+
37
+ super();
38
+
39
+ this._lwdfxServer = LwDFX.createServer({
40
+ ...serverOpts,
41
+ alpWhitelist: ['televoke2']
42
+ });
43
+
44
+ this._lwdfxServer.on('connection', (conn) => {
45
+
46
+ this._server.registerChannel(new LwDFXTransporter('lwdfx/unix', conn));
47
+ });
48
+ }
49
+
50
+ public get running(): boolean {
51
+
52
+ return !!this._gateway;
53
+ }
54
+
55
+ public async start(): Promise<void> {
56
+
57
+ if (this._gateway) {
58
+
59
+ return;
60
+ }
61
+
62
+ this._gateway = LwDFX.UnixSocket.createGateway(this._lwdfxServer, this._gatewayOpts);
63
+
64
+ try {
65
+
66
+ await this._gateway.start();
67
+ }
68
+ catch (e) {
69
+
70
+ this._gateway = null;
71
+ throw e;
72
+ }
73
+ }
74
+
75
+ public async stop(): Promise<void> {
76
+
77
+ if (!this._gateway) {
78
+
79
+ return;
80
+ }
81
+
82
+ await this._gateway.stop();
83
+ this._gateway = null;
84
+ }
85
+ }
86
+
87
+ export function createUnixSocketGateway(
88
+ server: dT.IServer,
89
+ gatewayOpts: ILwDfxUnixSocketGatewayOptions,
90
+ serverOpts: dL.ILwDfxServerOptions = {},
91
+ ): dT.IGateway {
92
+
93
+ return new LwDfxUnixSocketGateway(serverOpts, gatewayOpts, server);
94
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright 2023 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 LwDFX from '@litert/lwdfx';
18
+
19
+ export type ILwDfxServerOptions = Partial<Pick<LwDFX.IServer, 'maxConnections' | 'timeout' | 'handshakeTimeout' | 'maxFrameSize'>>;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Copyright 2023 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
+ export * from './LwDFX.Tcp.Client';
18
+ export * from './LwDFX.Tls.Client';
19
+ export * from './LwDFX.Tcp.Server';
20
+ export * from './LwDFX.Tls.Server';
21
+ export * from './LwDFX.UnixSocket.Client';
22
+ export * from './LwDFX.UnixSocket.Server';
23
+ export * from './LwDFX.decl';
@@ -0,0 +1,363 @@
1
+ /**
2
+ * Copyright 2023 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 Shared from '../../shared';
18
+ import type * as dT from '../Transporter.decl';
19
+ import { EventEmitter } from 'node:events';
20
+ import * as Crypto from 'node:crypto';
21
+
22
+ export interface IGatewayOptions {
23
+
24
+ name?: string;
25
+
26
+ server: dT.IServer;
27
+ }
28
+
29
+ function createRandomName(): string {
30
+
31
+ return Crypto.randomBytes(8).toString('hex');
32
+ }
33
+
34
+ interface IMemoryExchangeEvents extends Shared.IDefaultEvents {
35
+
36
+ ['data_a'](data: any): void;
37
+
38
+ ['data_b'](data: any): void;
39
+
40
+ ['end_a'](): void;
41
+
42
+ ['end_b'](): void;
43
+
44
+ close(): void;
45
+ }
46
+
47
+ class MemoryExchange extends EventEmitter implements Shared.IEventListener<IMemoryExchangeEvents> {
48
+
49
+ private _aEnded: boolean = false;
50
+
51
+ private _bEnded: boolean = false;
52
+
53
+ public constructor(
54
+ public readonly name: string
55
+ ) {
56
+
57
+ super();
58
+ }
59
+
60
+ public send(targetEndpoint: 'a' | 'b', data: any): void {
61
+
62
+ setImmediate(() => this.emit('data_' + targetEndpoint, data));
63
+ }
64
+
65
+ public isEnded(endpoint: 'a' | 'b'): boolean {
66
+
67
+ if (endpoint === 'a') {
68
+
69
+ return this._aEnded;
70
+ }
71
+
72
+ return this._bEnded;
73
+ }
74
+
75
+ public end(endpoint: 'a' | 'b'): void {
76
+
77
+ if (this._aEnded && this._bEnded) {
78
+ return;
79
+ }
80
+
81
+ if (endpoint === 'a') {
82
+
83
+ if (this._aEnded) {
84
+ return;
85
+ }
86
+
87
+ this._aEnded = true;
88
+ setImmediate(() => this.emit('end_a'));
89
+
90
+ }
91
+ else {
92
+
93
+ if (this._bEnded) {
94
+ return;
95
+ }
96
+
97
+ this._bEnded = true;
98
+ setImmediate(() => this.emit('end_b'));
99
+ }
100
+
101
+ if (this._aEnded && this._bEnded) {
102
+
103
+ setImmediate(() => this.emit('close'));
104
+ }
105
+ }
106
+
107
+ public close(): void {
108
+
109
+ this.end('a');
110
+ this.end('b');
111
+ }
112
+ }
113
+
114
+ class MemorySocket extends EventEmitter implements dT.ITransporter, Shared.ITransporter {
115
+
116
+ private readonly _targetEndpoint: 'a' | 'b';
117
+
118
+ public readonly protocol: string = 'memory';
119
+
120
+ public constructor(
121
+ private readonly _exchange: MemoryExchange,
122
+ private readonly _endpoint: 'a' | 'b'
123
+ ) {
124
+ super();
125
+ this._targetEndpoint = _endpoint === 'a' ? 'b' : 'a';
126
+
127
+ this._exchange
128
+ .on('end_' + this._targetEndpoint, () => {
129
+ try {
130
+ this.emit('end');
131
+ }
132
+ catch (e) {
133
+ this.emit('error', e);
134
+ }
135
+ })
136
+ .on('data_' + this._endpoint, (data) => {
137
+ try {
138
+ this.emit('frame', data);
139
+ }
140
+ catch (e) {
141
+ this.emit('error', e);
142
+ }
143
+ })
144
+ .on('error', (e) => this.emit('error', e))
145
+ .on('close', () => this.emit('close'));
146
+ }
147
+
148
+ public get writable(): boolean {
149
+
150
+ return !this._exchange.isEnded(this._endpoint);
151
+ }
152
+
153
+ public getProperty(name: string): unknown {
154
+
155
+ switch (name) {
156
+ case 'remoteAddress': return 'localhost';
157
+ case 'remotePort': return 0;
158
+ case 'localAddress': return 'localhost';
159
+ case 'localPort': return 0;
160
+ default: return null;
161
+ }
162
+ }
163
+
164
+ public getPropertyNames(): string[] {
165
+
166
+ return ['remoteAddress', 'remotePort', 'localAddress', 'localPort'];
167
+ }
168
+
169
+ public getAllProperties(): Record<string, unknown> {
170
+
171
+ return {
172
+ 'remoteAddress': 'localhost',
173
+ 'remotePort': 0,
174
+ 'localAddress': 'localhost',
175
+ 'localPort': 0,
176
+ };
177
+ }
178
+
179
+ public write(data: string | Buffer | Array<string | Buffer>): void {
180
+
181
+ if (this._exchange.isEnded(this._endpoint)) {
182
+
183
+ throw new Shared.errors.network_error({ reason: 'conn_lost' });
184
+ }
185
+
186
+ if (!Array.isArray(data)) {
187
+
188
+ data = [data];
189
+ }
190
+
191
+ for (let i = 0; i < data.length; ++i) {
192
+
193
+ if (!(data[i] instanceof Buffer)) {
194
+
195
+ data[i] = Buffer.from(data[i]);
196
+ }
197
+ }
198
+
199
+ this._exchange.send(this._targetEndpoint, data);
200
+ }
201
+
202
+ public destroy(): void {
203
+
204
+ this._exchange.close();
205
+ }
206
+
207
+ public end(lastChunk?: any): void {
208
+
209
+ if (lastChunk !== undefined) {
210
+
211
+ this.write(lastChunk);
212
+ }
213
+
214
+ this._exchange.end(this._endpoint);
215
+ }
216
+ }
217
+
218
+ export interface IMemoryGateway extends dT.IGateway {
219
+
220
+ readonly running: boolean;
221
+
222
+ readonly name: string;
223
+ }
224
+
225
+ class MemoryGateway extends EventEmitter implements IMemoryGateway {
226
+
227
+ private _running: boolean = false;
228
+
229
+ private readonly _exchanges: Record<string, MemoryExchange> = {};
230
+
231
+ public constructor(
232
+ public readonly name: string,
233
+ private readonly _server: dT.IServer,
234
+ // private readonly _opts: D.IServerOptions
235
+ ) {
236
+
237
+ super();
238
+ }
239
+
240
+ public get running(): boolean {
241
+
242
+ return this._running;
243
+ }
244
+
245
+ private _createExchange(): MemoryExchange {
246
+
247
+ const ex = new MemoryExchange(this._generateExchangeName());
248
+ return this._exchanges[ex.name] = ex;
249
+ }
250
+
251
+ private _generateExchangeName(): string {
252
+
253
+ let name: string;
254
+
255
+ do {
256
+
257
+ name = createRandomName();
258
+
259
+ } while (this._exchanges[name]);
260
+
261
+ return name;
262
+ }
263
+
264
+ public connect(): dT.ITransporter {
265
+
266
+ if (!this._running) {
267
+
268
+ throw new Shared.errors.network_error({ reason: 'conn_refused' });
269
+ }
270
+
271
+ const ex = this._createExchange();
272
+
273
+ const serverSocket = new MemorySocket(ex, 'a');
274
+ const clientSocket = new MemorySocket(ex, 'b');
275
+
276
+ ex.on('close', () => {
277
+
278
+ delete this._exchanges[ex.name];
279
+ });
280
+
281
+ this._server.registerChannel(serverSocket);
282
+
283
+ return clientSocket;
284
+ }
285
+
286
+ public start(): Promise<void> {
287
+
288
+ if (!this._running) {
289
+
290
+ this._running = true;
291
+ this.emit('listening');
292
+ }
293
+
294
+ return Promise.resolve();
295
+ }
296
+
297
+ public stop(): Promise<void> {
298
+
299
+ if (!this._running) {
300
+
301
+ return Promise.resolve();
302
+ }
303
+
304
+ for (const ex of Object.values(this._exchanges)) {
305
+
306
+ ex.close();
307
+ }
308
+
309
+ this.emit('close');
310
+
311
+ return Promise.resolve();
312
+ }
313
+ }
314
+
315
+ const servers: Record<string, MemoryGateway> = {};
316
+
317
+ export function createServer(opts: IGatewayOptions, listener?: (socket: dT.ITransporter) => void): MemoryGateway {
318
+
319
+ opts.name ??= createRandomName();
320
+
321
+ if (servers[opts.name]) {
322
+
323
+ throw new Shared.errors.network_error({ reason: 'dup_listen' });
324
+ }
325
+
326
+ const server = new MemoryGateway(opts.name, opts.server);
327
+
328
+ servers[opts.name] = server;
329
+
330
+ if (listener) {
331
+
332
+ server.on('connection', listener);
333
+ }
334
+
335
+ server.on('close', () => {
336
+
337
+ delete servers[opts.name!];
338
+ });
339
+
340
+ return server;
341
+ }
342
+
343
+ class MemoryConnector implements dT.IConnector {
344
+
345
+ public constructor(
346
+ private readonly _name: string
347
+ ) {}
348
+
349
+ public connect(): Promise<dT.ITransporter> {
350
+
351
+ if (!servers[this._name]) {
352
+
353
+ throw new Shared.errors.network_error({ reason: 'unknown_dest' });
354
+ }
355
+
356
+ return Promise.resolve(servers[this._name].connect());
357
+ }
358
+ }
359
+
360
+ export function createConnector(name: string): dT.IConnector {
361
+
362
+ return new MemoryConnector(name);
363
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright 2023 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
+ export * from './Memory.Impl';
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Copyright 2023 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 LibWS from '@litert/websocket';
18
+ import * as dWS from './WebSocket.decl';
19
+ import type * as dT from '../Transporter.decl';
20
+ import { WebSocketTransporter } from './WebSocket.Transporter';
21
+
22
+ class WsConnector implements dT.IConnector {
23
+
24
+ public constructor(private readonly _opts: LibWS.IWsConnectOptions) {}
25
+
26
+ public async connect(): Promise<dT.ITransporter> {
27
+
28
+ const ws = await LibWS.wsConnect({
29
+ ...this._opts,
30
+ headers: {
31
+ ...this._opts?.headers,
32
+ ...LibWS.createClientHandshakeHeaders({
33
+ 'subProtocols': [dWS.WEBSOCKET_SUB_PROTOCOL]
34
+ })
35
+ }
36
+ });
37
+
38
+ ws.setMasking(false);
39
+
40
+ return new WebSocketTransporter(dWS.WS_PROTOCOL_NAME, ws);
41
+ }
42
+ }
43
+
44
+ class WssConnector implements dT.IConnector {
45
+
46
+ public constructor(private readonly _opts: LibWS.IWssConnectOptions) {}
47
+
48
+ public async connect(): Promise<dT.ITransporter> {
49
+
50
+ const ws = await LibWS.wssConnect({
51
+ ...this._opts,
52
+ headers: {
53
+ ...this._opts?.headers,
54
+ ...LibWS.createClientHandshakeHeaders({
55
+ 'subProtocols': [dWS.WEBSOCKET_SUB_PROTOCOL]
56
+ })
57
+ }
58
+ });
59
+
60
+ ws.setMasking(false);
61
+
62
+ return new WebSocketTransporter(dWS.WSS_PROTOCOL_NAME, ws);
63
+ }
64
+ }
65
+
66
+ export function createWsConnector(opts: LibWS.IWsConnectOptions): dT.IConnector {
67
+
68
+ opts.liteFrameMode = true;
69
+ return new WsConnector(opts);
70
+ }
71
+
72
+ export function createWssConnector(opts: LibWS.IWssConnectOptions): dT.IConnector {
73
+
74
+ opts.liteFrameMode = true;
75
+ return new WssConnector(opts);
76
+ }