@n1k1t/mock-server 0.3.0 → 1.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 (248) hide show
  1. package/README.md +583 -1013
  2. package/README.old.md +1255 -0
  3. package/lib/package.json +15 -6
  4. package/lib/src/client/helpers/expectations.d.ts +15 -45
  5. package/lib/src/client/helpers/expectations.d.ts.map +1 -1
  6. package/lib/src/client/helpers/expectations.js.map +1 -1
  7. package/lib/src/client/methods/expectations-group.update.method.js +1 -1
  8. package/lib/src/client/methods/expectations-group.update.method.js.map +1 -1
  9. package/lib/src/client/methods/expectations.create.method.js +1 -1
  10. package/lib/src/client/methods/expectations.create.method.js.map +1 -1
  11. package/lib/src/client/methods/expectations.delete.method.js +1 -1
  12. package/lib/src/client/methods/expectations.delete.method.js.map +1 -1
  13. package/lib/src/client/methods/expectations.update.method.js +1 -1
  14. package/lib/src/client/methods/expectations.update.method.js.map +1 -1
  15. package/lib/src/client/methods/ping.method.js +1 -1
  16. package/lib/src/client/methods/ping.method.js.map +1 -1
  17. package/lib/src/client/methods/providers.create.method.js +1 -1
  18. package/lib/src/client/methods/providers.create.method.js.map +1 -1
  19. package/lib/src/client/methods/providers.delete.method.js +1 -1
  20. package/lib/src/client/methods/providers.delete.method.js.map +1 -1
  21. package/lib/src/client/models/client.d.ts +4 -4
  22. package/lib/src/client/models/client.d.ts.map +1 -1
  23. package/lib/src/client/models/client.js +6 -3
  24. package/lib/src/client/models/client.js.map +1 -1
  25. package/lib/src/client/models/types.d.ts +3 -0
  26. package/lib/src/client/models/types.d.ts.map +1 -1
  27. package/lib/src/client/models/types.js.map +1 -1
  28. package/lib/src/client/types.d.ts +1 -1
  29. package/lib/src/client/types.d.ts.map +1 -1
  30. package/lib/src/client/utils.d.ts +1 -1
  31. package/lib/src/client/utils.d.ts.map +1 -1
  32. package/lib/src/client/utils.js.map +1 -1
  33. package/lib/src/config/index.d.ts +1 -1
  34. package/lib/src/config/index.js +1 -1
  35. package/lib/src/config/index.js.map +1 -1
  36. package/lib/src/expectations/__utils__/index.d.ts.map +1 -1
  37. package/lib/src/expectations/__utils__/index.js +0 -1
  38. package/lib/src/expectations/__utils__/index.js.map +1 -1
  39. package/lib/src/expectations/models/expectation.d.ts +1 -1
  40. package/lib/src/expectations/models/expectation.d.ts.map +1 -1
  41. package/lib/src/expectations/models/expectation.js.map +1 -1
  42. package/lib/src/expectations/models/storage.d.ts +5 -5
  43. package/lib/src/expectations/models/storage.d.ts.map +1 -1
  44. package/lib/src/expectations/models/storage.js.map +1 -1
  45. package/lib/src/expectations/types.d.ts +18 -15
  46. package/lib/src/expectations/types.d.ts.map +1 -1
  47. package/lib/src/expectations/types.js +0 -1
  48. package/lib/src/expectations/types.js.map +1 -1
  49. package/lib/src/expectations/utils/location.d.ts.map +1 -1
  50. package/lib/src/expectations/utils/location.js +0 -6
  51. package/lib/src/expectations/utils/location.js.map +1 -1
  52. package/lib/src/server/endpoints/cache.backup.endpoint.js +1 -1
  53. package/lib/src/server/endpoints/cache.backup.endpoint.js.map +1 -1
  54. package/lib/src/server/endpoints/cache.delete.endpoint.js +1 -1
  55. package/lib/src/server/endpoints/cache.delete.endpoint.js.map +1 -1
  56. package/lib/src/server/endpoints/cache.restore.endpoint.d.ts.map +1 -1
  57. package/lib/src/server/endpoints/cache.restore.endpoint.js +8 -3
  58. package/lib/src/server/endpoints/cache.restore.endpoint.js.map +1 -1
  59. package/lib/src/server/endpoints/cache.restore.stream.endpoint.js +1 -1
  60. package/lib/src/server/endpoints/cache.restore.stream.endpoint.js.map +1 -1
  61. package/lib/src/server/endpoints/cache.usage.get.endpoint.js +1 -1
  62. package/lib/src/server/endpoints/cache.usage.get.endpoint.js.map +1 -1
  63. package/lib/src/server/endpoints/config.get.endpoint.d.ts +1 -1
  64. package/lib/src/server/endpoints/expectations.get-by-id.endpoint.js +1 -1
  65. package/lib/src/server/endpoints/expectations.get-by-id.endpoint.js.map +1 -1
  66. package/lib/src/server/endpoints/expectations.update.endpoint.d.ts +1 -1
  67. package/lib/src/server/endpoints/expectations.update.endpoint.d.ts.map +1 -1
  68. package/lib/src/server/endpoints/gui.endpoint.js +2 -2
  69. package/lib/src/server/endpoints/gui.endpoint.js.map +1 -1
  70. package/lib/src/server/endpoints/history.compact.get-list.endpoint.d.ts +2 -2
  71. package/lib/src/server/endpoints/history.get-by-id.endpoint.d.ts +1 -1
  72. package/lib/src/server/endpoints/history.get-by-id.endpoint.js +1 -1
  73. package/lib/src/server/endpoints/history.get-by-id.endpoint.js.map +1 -1
  74. package/lib/src/server/index.d.ts +2 -5
  75. package/lib/src/server/index.d.ts.map +1 -1
  76. package/lib/src/server/index.js +10 -9
  77. package/lib/src/server/index.js.map +1 -1
  78. package/lib/src/server/models/context/index.d.ts +6 -6
  79. package/lib/src/server/models/context/index.d.ts.map +1 -1
  80. package/lib/src/server/models/context/index.js +0 -4
  81. package/lib/src/server/models/context/index.js.map +1 -1
  82. package/lib/src/server/models/context/snapshot.d.ts +2 -3
  83. package/lib/src/server/models/context/snapshot.d.ts.map +1 -1
  84. package/lib/src/server/models/context/snapshot.js +6 -6
  85. package/lib/src/server/models/context/snapshot.js.map +1 -1
  86. package/lib/src/server/models/context/types.d.ts +10 -9
  87. package/lib/src/server/models/context/types.d.ts.map +1 -1
  88. package/lib/src/server/models/context/utils.d.ts.map +1 -1
  89. package/lib/src/server/models/context/utils.js +2 -6
  90. package/lib/src/server/models/context/utils.js.map +1 -1
  91. package/lib/src/server/models/endpoint.d.ts +2 -2
  92. package/lib/src/server/models/endpoint.d.ts.map +1 -1
  93. package/lib/src/server/models/executor/index.d.ts +2 -2
  94. package/lib/src/server/models/executor/index.d.ts.map +1 -1
  95. package/lib/src/server/models/executor/index.js +38 -6
  96. package/lib/src/server/models/executor/index.js.map +1 -1
  97. package/lib/src/server/models/history/model.d.ts +4 -6
  98. package/lib/src/server/models/history/model.d.ts.map +1 -1
  99. package/lib/src/server/models/history/model.js +2 -7
  100. package/lib/src/server/models/history/model.js.map +1 -1
  101. package/lib/src/server/models/index.d.ts +2 -0
  102. package/lib/src/server/models/index.d.ts.map +1 -1
  103. package/lib/src/server/models/index.js +2 -0
  104. package/lib/src/server/models/index.js.map +1 -1
  105. package/lib/src/server/models/message.d.ts +16 -0
  106. package/lib/src/server/models/message.d.ts.map +1 -0
  107. package/lib/src/server/models/message.js +53 -0
  108. package/lib/src/server/models/message.js.map +1 -0
  109. package/lib/src/server/models/providers/model.d.ts +2 -2
  110. package/lib/src/server/models/providers/model.d.ts.map +1 -1
  111. package/lib/src/server/models/providers/storage.js +1 -1
  112. package/lib/src/server/models/providers/storage.js.map +1 -1
  113. package/lib/src/server/models/providers/system.d.ts.map +1 -1
  114. package/lib/src/server/models/providers/system.js +0 -1
  115. package/lib/src/server/models/providers/system.js.map +1 -1
  116. package/lib/src/server/models/router.js +1 -1
  117. package/lib/src/server/models/router.js.map +1 -1
  118. package/lib/src/server/models/transports/storage.js +1 -1
  119. package/lib/src/server/models/transports/storage.js.map +1 -1
  120. package/lib/src/server/models/websocket/errors/index.d.ts +2 -0
  121. package/lib/src/server/models/websocket/errors/index.d.ts.map +1 -0
  122. package/lib/src/server/models/websocket/errors/index.js +18 -0
  123. package/lib/src/server/models/websocket/errors/index.js.map +1 -0
  124. package/lib/src/server/models/websocket/errors/websocket-connection.error.d.ts +9 -0
  125. package/lib/src/server/models/websocket/errors/websocket-connection.error.d.ts.map +1 -0
  126. package/lib/src/server/models/websocket/errors/websocket-connection.error.js +32 -0
  127. package/lib/src/server/models/websocket/errors/websocket-connection.error.js.map +1 -0
  128. package/lib/src/server/models/websocket/factory.d.ts +9 -0
  129. package/lib/src/server/models/websocket/factory.d.ts.map +1 -0
  130. package/lib/src/server/models/websocket/factory.js +23 -0
  131. package/lib/src/server/models/websocket/factory.js.map +1 -0
  132. package/lib/src/server/models/websocket/index.d.ts +5 -0
  133. package/lib/src/server/models/websocket/index.d.ts.map +1 -0
  134. package/lib/src/server/models/websocket/index.js +21 -0
  135. package/lib/src/server/models/websocket/index.js.map +1 -0
  136. package/lib/src/server/models/websocket/model.d.ts +29 -0
  137. package/lib/src/server/models/websocket/model.d.ts.map +1 -0
  138. package/lib/src/server/models/websocket/model.js +164 -0
  139. package/lib/src/server/models/websocket/model.js.map +1 -0
  140. package/lib/src/server/models/websocket/types.d.ts +11 -0
  141. package/lib/src/server/models/websocket/types.d.ts.map +1 -0
  142. package/lib/src/server/models/websocket/types.js +3 -0
  143. package/lib/src/server/models/websocket/types.js.map +1 -0
  144. package/lib/src/server/transports/http.transport/context.d.ts +1 -1
  145. package/lib/src/server/transports/http.transport/context.d.ts.map +1 -1
  146. package/lib/src/server/transports/http.transport/context.js +10 -3
  147. package/lib/src/server/transports/http.transport/context.js.map +1 -1
  148. package/lib/src/server/transports/http.transport/executor.d.ts +3 -13
  149. package/lib/src/server/transports/http.transport/executor.d.ts.map +1 -1
  150. package/lib/src/server/transports/http.transport/executor.js +7 -6
  151. package/lib/src/server/transports/http.transport/executor.js.map +1 -1
  152. package/lib/src/server/transports/http.transport/index.d.ts +1 -1
  153. package/lib/src/server/transports/http.transport/index.d.ts.map +1 -1
  154. package/lib/src/server/transports/http.transport/index.js +2 -3
  155. package/lib/src/server/transports/http.transport/index.js.map +1 -1
  156. package/lib/src/server/transports/index.d.ts +1 -1
  157. package/lib/src/server/transports/index.d.ts.map +1 -1
  158. package/lib/src/server/transports/index.js +1 -1
  159. package/lib/src/server/transports/index.js.map +1 -1
  160. package/lib/src/server/transports/{internal → system}/http.transport/context.d.ts +6 -6
  161. package/lib/src/server/transports/system/http.transport/context.d.ts.map +1 -0
  162. package/lib/src/server/transports/{internal → system}/http.transport/context.js +7 -7
  163. package/lib/src/server/transports/system/http.transport/context.js.map +1 -0
  164. package/lib/src/server/transports/system/http.transport/executor.d.ts +21 -0
  165. package/lib/src/server/transports/system/http.transport/executor.d.ts.map +1 -0
  166. package/lib/src/server/transports/{internal → system}/http.transport/executor.js +5 -5
  167. package/lib/src/server/transports/system/http.transport/executor.js.map +1 -0
  168. package/lib/src/server/transports/{internal → system}/http.transport/index.d.ts +5 -5
  169. package/lib/src/server/transports/system/http.transport/index.d.ts.map +1 -0
  170. package/lib/src/server/transports/{internal → system}/http.transport/index.js +5 -5
  171. package/lib/src/server/transports/system/http.transport/index.js.map +1 -0
  172. package/lib/src/server/transports/system/http.transport/reply.d.ts +10 -0
  173. package/lib/src/server/transports/system/http.transport/reply.d.ts.map +1 -0
  174. package/lib/src/server/transports/{internal → system}/http.transport/reply.js +4 -4
  175. package/lib/src/server/transports/system/http.transport/reply.js.map +1 -0
  176. package/lib/src/server/transports/system/index.d.ts.map +1 -0
  177. package/lib/src/server/transports/system/index.js.map +1 -0
  178. package/lib/src/server/transports/{internal → system}/io.transport/context.d.ts +6 -6
  179. package/lib/src/server/transports/system/io.transport/context.d.ts.map +1 -0
  180. package/lib/src/server/transports/{internal → system}/io.transport/context.js +6 -6
  181. package/lib/src/server/transports/system/io.transport/context.js.map +1 -0
  182. package/lib/src/server/transports/{internal → system}/io.transport/executor.d.ts +3 -3
  183. package/lib/src/server/transports/system/io.transport/executor.d.ts.map +1 -0
  184. package/lib/src/server/transports/{internal → system}/io.transport/executor.js +3 -3
  185. package/lib/src/server/transports/system/io.transport/executor.js.map +1 -0
  186. package/lib/src/server/transports/system/io.transport/index.d.ts +14 -0
  187. package/lib/src/server/transports/system/io.transport/index.d.ts.map +1 -0
  188. package/lib/src/server/transports/{internal → system}/io.transport/index.js +5 -5
  189. package/lib/src/server/transports/system/io.transport/index.js.map +1 -0
  190. package/lib/src/server/transports/system/io.transport/reply.d.ts +10 -0
  191. package/lib/src/server/transports/system/io.transport/reply.d.ts.map +1 -0
  192. package/lib/src/server/transports/{internal → system}/io.transport/reply.js +4 -4
  193. package/lib/src/server/transports/system/io.transport/reply.js.map +1 -0
  194. package/lib/src/server/transports/system/utils.d.ts.map +1 -0
  195. package/lib/src/server/transports/system/utils.js.map +1 -0
  196. package/lib/src/server/transports/ws.transport/context.d.ts +13 -12
  197. package/lib/src/server/transports/ws.transport/context.d.ts.map +1 -1
  198. package/lib/src/server/transports/ws.transport/context.js +20 -28
  199. package/lib/src/server/transports/ws.transport/context.js.map +1 -1
  200. package/lib/src/server/transports/ws.transport/executor.d.ts +7 -5
  201. package/lib/src/server/transports/ws.transport/executor.d.ts.map +1 -1
  202. package/lib/src/server/transports/ws.transport/executor.js +77 -25
  203. package/lib/src/server/transports/ws.transport/executor.js.map +1 -1
  204. package/lib/src/server/transports/ws.transport/index.d.ts +3 -3
  205. package/lib/src/server/transports/ws.transport/index.d.ts.map +1 -1
  206. package/lib/src/server/transports/ws.transport/index.js +29 -54
  207. package/lib/src/server/transports/ws.transport/index.js.map +1 -1
  208. package/lib/src/server/types/index.d.ts +2 -4
  209. package/lib/src/server/types/index.d.ts.map +1 -1
  210. package/lib/src/utils/common.d.ts +6 -3
  211. package/lib/src/utils/common.d.ts.map +1 -1
  212. package/lib/src/utils/common.js +22 -11
  213. package/lib/src/utils/common.js.map +1 -1
  214. package/package.json +15 -6
  215. package/public/assets/{index-DoUtVarD.js → index-DoLXR0S_.js} +6 -1
  216. package/public/index.html +1 -1
  217. package/lib/bin/index.d.ts +0 -3
  218. package/lib/bin/index.d.ts.map +0 -1
  219. package/lib/bin/index.js +0 -32
  220. package/lib/bin/index.js.map +0 -1
  221. package/lib/src/server/transports/internal/http.transport/context.d.ts.map +0 -1
  222. package/lib/src/server/transports/internal/http.transport/context.js.map +0 -1
  223. package/lib/src/server/transports/internal/http.transport/executor.d.ts +0 -21
  224. package/lib/src/server/transports/internal/http.transport/executor.d.ts.map +0 -1
  225. package/lib/src/server/transports/internal/http.transport/executor.js.map +0 -1
  226. package/lib/src/server/transports/internal/http.transport/index.d.ts.map +0 -1
  227. package/lib/src/server/transports/internal/http.transport/index.js.map +0 -1
  228. package/lib/src/server/transports/internal/http.transport/reply.d.ts +0 -10
  229. package/lib/src/server/transports/internal/http.transport/reply.d.ts.map +0 -1
  230. package/lib/src/server/transports/internal/http.transport/reply.js.map +0 -1
  231. package/lib/src/server/transports/internal/index.d.ts.map +0 -1
  232. package/lib/src/server/transports/internal/index.js.map +0 -1
  233. package/lib/src/server/transports/internal/io.transport/context.d.ts.map +0 -1
  234. package/lib/src/server/transports/internal/io.transport/context.js.map +0 -1
  235. package/lib/src/server/transports/internal/io.transport/executor.d.ts.map +0 -1
  236. package/lib/src/server/transports/internal/io.transport/executor.js.map +0 -1
  237. package/lib/src/server/transports/internal/io.transport/index.d.ts +0 -14
  238. package/lib/src/server/transports/internal/io.transport/index.d.ts.map +0 -1
  239. package/lib/src/server/transports/internal/io.transport/index.js.map +0 -1
  240. package/lib/src/server/transports/internal/io.transport/reply.d.ts +0 -10
  241. package/lib/src/server/transports/internal/io.transport/reply.d.ts.map +0 -1
  242. package/lib/src/server/transports/internal/io.transport/reply.js.map +0 -1
  243. package/lib/src/server/transports/internal/utils.d.ts.map +0 -1
  244. package/lib/src/server/transports/internal/utils.js.map +0 -1
  245. /package/lib/src/server/transports/{internal → system}/index.d.ts +0 -0
  246. /package/lib/src/server/transports/{internal → system}/index.js +0 -0
  247. /package/lib/src/server/transports/{internal → system}/utils.d.ts +0 -0
  248. /package/lib/src/server/transports/{internal → system}/utils.js +0 -0
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InternalSocketIoRequestContext = void 0;
3
+ exports.SystemSocketIoRequestContext = void 0;
4
4
  const models_1 = require("../../../models");
5
5
  const reply_1 = require("./reply");
6
- class InternalSocketIoRequestContext extends models_1.RequestContext {
6
+ class SystemSocketIoRequestContext extends models_1.RequestContext {
7
7
  constructor(server, request) {
8
- super(server.providers.default, { transport: 'io', event: 'message' });
8
+ super(server.providers.default, { transport: 'io' });
9
9
  this.server = server;
10
10
  this.request = request;
11
11
  this.incoming = {
@@ -16,12 +16,12 @@ class InternalSocketIoRequestContext extends models_1.RequestContext {
16
16
  headers: {},
17
17
  query: {},
18
18
  };
19
- this.reply = reply_1.InternalSocketIoReply.build(this);
19
+ this.reply = reply_1.SystemSocketIoReply.build(this);
20
20
  this.snapshot = this.compileSnapshot();
21
21
  }
22
22
  static build(server, request) {
23
- return new InternalSocketIoRequestContext(server, request);
23
+ return new SystemSocketIoRequestContext(server, request);
24
24
  }
25
25
  }
26
- exports.InternalSocketIoRequestContext = InternalSocketIoRequestContext;
26
+ exports.SystemSocketIoRequestContext = SystemSocketIoRequestContext;
27
27
  //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../src/server/transports/system/io.transport/context.ts"],"names":[],"mappings":";;;AAGA,4CAA0E;AAC1E,mCAA8C;AAE9C,MAAa,4BAAkD,SAAQ,uBAIrE;IAeA,YACS,MAAkB,EAClB,OAIN;QAED,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAP9C,WAAM,GAAN,MAAM,CAAY;QAClB,YAAO,GAAP,OAAO,CAIb;QApBI,aAAQ,GAA4B;YACzC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAEvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,MAAM,EAAE,MAAM;YAEd,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;SACV,CAAC;QAEK,UAAK,GAAG,2BAAmB,CAAC,KAAK,CAAY,IAAI,CAAC,CAAC;QACnD,aAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAWzC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAkB,EAAE,OAAgD;QAC/E,OAAO,IAAI,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF;AAjCD,oEAiCC"}
@@ -1,5 +1,5 @@
1
1
  import { Endpoint, Executor, IRequestContextOutgoing } from '../../../models';
2
- import { InternalSocketIoRequestContext } from './context';
2
+ import { SystemSocketIoRequestContext } from './context';
3
3
  type TEndpoint = Endpoint<{
4
4
  locations: {
5
5
  io: {
@@ -9,9 +9,9 @@ type TEndpoint = Endpoint<{
9
9
  incoming: any;
10
10
  outgoing: any;
11
11
  }>;
12
- export declare class InternalSocketIoExecutor extends Executor<InternalSocketIoRequestContext> {
12
+ export declare class SystemSocketIoExecutor extends Executor<SystemSocketIoRequestContext> {
13
13
  endpoints: Record<string, TEndpoint>;
14
- exec(context: InternalSocketIoRequestContext): Promise<InternalSocketIoRequestContext<unknown>>;
14
+ exec(context: SystemSocketIoRequestContext): Promise<SystemSocketIoRequestContext<unknown>>;
15
15
  forward(): Promise<null>;
16
16
  reply(): Promise<IRequestContextOutgoing>;
17
17
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../../../src/server/transports/system/io.transport/executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAIzD,KAAK,SAAS,GAAG,QAAQ,CAAC;IACxB,SAAS,EAAE;QACT,EAAE,EAAE;YACF,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IAEF,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC,CAAC;AAEH,qBAAa,sBAAuB,SAAQ,QAAQ,CAAC,4BAA4B,CAAC;IACzE,SAAS,4BAGd;IAEW,IAAI,CAAC,OAAO,EAAE,4BAA4B;IAK1C,OAAO;IAIP,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAGvD"}
@@ -36,11 +36,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.InternalSocketIoExecutor = void 0;
39
+ exports.SystemSocketIoExecutor = void 0;
40
40
  const lodash_1 = __importDefault(require("lodash"));
41
41
  const models_1 = require("../../../models");
42
42
  const endpoints = __importStar(require("../../../endpoints"));
43
- class InternalSocketIoExecutor extends models_1.Executor {
43
+ class SystemSocketIoExecutor extends models_1.Executor {
44
44
  constructor() {
45
45
  super(...arguments);
46
46
  this.endpoints = Object.values(endpoints).reduce((acc, endpoint) => endpoint.locations.io ? lodash_1.default.set(acc, endpoint.locations.io.path, endpoint) : acc, {});
@@ -56,5 +56,5 @@ class InternalSocketIoExecutor extends models_1.Executor {
56
56
  return { type: 'plain', status: 200, headers: {} };
57
57
  }
58
58
  }
59
- exports.InternalSocketIoExecutor = InternalSocketIoExecutor;
59
+ exports.SystemSocketIoExecutor = SystemSocketIoExecutor;
60
60
  //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../src/server/transports/system/io.transport/executor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AAEvB,4CAA8E;AAG9E,8DAAgD;AAahD,MAAa,sBAAuB,SAAQ,iBAAsC;IAAlF;;QACS,cAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAC,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EACjG,EAAE,CACH,CAAC;IAcJ,CAAC;IAZQ,KAAK,CAAC,IAAI,CAAC,OAAqC;QACrD,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACrD,CAAC;CACF;AAlBD,wDAkBC"}
@@ -0,0 +1,14 @@
1
+ import type { MockServer } from '../../../index';
2
+ import { Provider, Transport } from '../../../models';
3
+ import { SystemSocketIoRequestContext } from './context';
4
+ import { SystemSocketIoExecutor } from './executor';
5
+ export * from './executor';
6
+ export * from './context';
7
+ export * from './reply';
8
+ export declare class SystemSocketIoTransport extends Transport<SystemSocketIoExecutor> {
9
+ protected server: MockServer;
10
+ executor: SystemSocketIoExecutor;
11
+ constructor(server: MockServer);
12
+ compileContext(provider: Provider, request: SystemSocketIoRequestContext['request']): Promise<SystemSocketIoRequestContext<unknown>>;
13
+ }
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/server/transports/system/io.transport/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAyB,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGpD,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AAExB,qBAAa,uBAAwB,SAAQ,SAAS,CAAC,sBAAsB,CAAC;IAGhE,SAAS,CAAC,MAAM,EAAE,UAAU;IAFjC,QAAQ,yBAAgC;gBAEzB,MAAM,EAAE,UAAU;IA+B3B,cAAc,CACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,4BAA4B,CAAC,SAAS,CAAC;CAInD"}
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.InternalSocketIoTransport = void 0;
17
+ exports.SystemSocketIoTransport = void 0;
18
18
  const models_1 = require("../../../models");
19
19
  const context_1 = require("./context");
20
20
  const executor_1 = require("./executor");
@@ -22,11 +22,11 @@ const utils_1 = require("../../../../utils");
22
22
  __exportStar(require("./executor"), exports);
23
23
  __exportStar(require("./context"), exports);
24
24
  __exportStar(require("./reply"), exports);
25
- class InternalSocketIoTransport extends models_1.Transport {
25
+ class SystemSocketIoTransport extends models_1.Transport {
26
26
  constructor(server) {
27
27
  super();
28
28
  this.server = server;
29
- this.executor = new executor_1.InternalSocketIoExecutor();
29
+ this.executor = new executor_1.SystemSocketIoExecutor();
30
30
  server.io.on('connection', (socket) => {
31
31
  const stream = (0, utils_1.socketIoStream)(socket);
32
32
  Object.values(this.executor.endpoints).forEach((endpoint) => {
@@ -44,8 +44,8 @@ class InternalSocketIoTransport extends models_1.Transport {
44
44
  server.exchanges.io = (0, models_1.buildSocketIoExchange)(server.io);
45
45
  }
46
46
  async compileContext(provider, request) {
47
- return context_1.InternalSocketIoRequestContext.build(this.server, request);
47
+ return context_1.SystemSocketIoRequestContext.build(this.server, request);
48
48
  }
49
49
  }
50
- exports.InternalSocketIoTransport = InternalSocketIoTransport;
50
+ exports.SystemSocketIoTransport = SystemSocketIoTransport;
51
51
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/server/transports/system/io.transport/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,4CAA6E;AAC7E,uCAAyD;AACzD,yCAAoD;AACpD,6CAAyD;AAEzD,6CAA2B;AAC3B,4CAA0B;AAC1B,0CAAwB;AAExB,MAAa,uBAAwB,SAAQ,kBAAiC;IAG5E,YAAsB,MAAkB;QACtC,KAAK,EAAE,CAAC;QADY,WAAM,GAAN,MAAM,CAAY;QAFjC,aAAQ,GAAG,IAAI,iCAAsB,EAAE,CAAC;QAK7C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;YAEtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC1D,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CACjE,QAAQ,CAAC,OAAO,EAAE,CAChB,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE;oBAClD,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI;oBAChC,IAAI,EAAE,IAAA,YAAI,EAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;iBACtD,CAAC,CACH,CACF,CAAC;gBAEF,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,CACtD,QAAQ,CAAC,OAAO,EAAE,CAChB,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE;oBAClD,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI;oBAChC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;oBACpB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBACd,CAAC,CACH,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,QAAkB,EAClB,OAAgD;QAEhD,OAAO,sCAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;CACF;AAxCD,0DAwCC"}
@@ -0,0 +1,10 @@
1
+ import type { SystemSocketIoRequestContext } from './context';
2
+ import { Reply } from '../../../models';
3
+ export declare class SystemSocketIoReply<TOutgoing = unknown> extends Reply<SystemSocketIoRequestContext, TOutgoing> {
4
+ ok(payload: TOutgoing): void;
5
+ internalError(message?: string): void;
6
+ validationError(reasons?: unknown[]): void;
7
+ notFound(): void;
8
+ static build<TResponse>(context: SystemSocketIoRequestContext): SystemSocketIoReply<TResponse>;
9
+ }
10
+ //# sourceMappingURL=reply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reply.d.ts","sourceRoot":"","sources":["../../../../../../src/server/transports/system/io.transport/reply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAG9D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,qBAAa,mBAAmB,CAAC,SAAS,GAAG,OAAO,CAAE,SAAQ,KAAK,CAAC,4BAA4B,EAAE,SAAS,CAAC;IACnG,EAAE,CAAC,OAAO,EAAE,SAAS;IAIrB,aAAa,CAAC,OAAO,GAAE,MAA+B;IAItD,eAAe,CAAC,OAAO,GAAE,OAAO,EAA6B;IAI7D,QAAQ;IAIf,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,4BAA4B;CAG9D"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InternalSocketIoReply = void 0;
3
+ exports.SystemSocketIoReply = void 0;
4
4
  const utils_1 = require("../utils");
5
5
  const models_1 = require("../../../models");
6
- class InternalSocketIoReply extends models_1.Reply {
6
+ class SystemSocketIoReply extends models_1.Reply {
7
7
  ok(payload) {
8
8
  this.context.request.callback?.((0, utils_1.buildEndpointResponse)('OK', payload));
9
9
  }
@@ -17,8 +17,8 @@ class InternalSocketIoReply extends models_1.Reply {
17
17
  this.context.request.callback?.((0, utils_1.buildEndpointResponse)('NOT_FOUND', null));
18
18
  }
19
19
  static build(context) {
20
- return new InternalSocketIoReply(context);
20
+ return new SystemSocketIoReply(context);
21
21
  }
22
22
  }
23
- exports.InternalSocketIoReply = InternalSocketIoReply;
23
+ exports.SystemSocketIoReply = SystemSocketIoReply;
24
24
  //# sourceMappingURL=reply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reply.js","sourceRoot":"","sources":["../../../../../../src/server/transports/system/io.transport/reply.ts"],"names":[],"mappings":";;;AAEA,oCAAiD;AACjD,4CAAwC;AAExC,MAAa,mBAAyC,SAAQ,cAA8C;IACnG,EAAE,CAAC,OAAkB;QAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAA,6BAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IACvE,CAAC;IAEM,aAAa,CAAC,UAAkB,sBAAsB;QAC3D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAA,6BAAqB,EAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IAEM,eAAe,CAAC,UAAqB,CAAC,sBAAsB,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAA,6BAAqB,EAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAA,6BAAqB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,KAAK,CAAY,OAAqC;QAC3D,OAAO,IAAI,mBAAmB,CAAY,OAAO,CAAC,CAAC;IACrD,CAAC;CACF;AApBD,kDAoBC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/system/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,eAAO,MAAM,qBAAqB,GAAI,CAAC,QAC/B,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAC5B,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KACjC,iBAAiB,CAAC,CAAC,CAA4C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/server/transports/system/utils.ts"],"names":[],"mappings":";;;AAEO,MAAM,qBAAqB,GAAG,CACnC,IAAkC,EAClC,IAAkC,EACZ,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAHtD,QAAA,qBAAqB,yBAGiC"}
@@ -1,30 +1,31 @@
1
- import { RawData, WebSocket } from 'ws';
2
1
  import { IncomingMessage } from 'http';
3
- import { IRequestContextIncoming, Provider, RequestContext } from '../../models';
2
+ import { Duplex } from 'stream';
3
+ import { IRequestContextIncoming, Provider, RequestContext, WebSocket } from '../../models';
4
4
  export declare class WsRequestContext extends RequestContext<{
5
5
  transport: 'ws';
6
- event: 'connection' | 'message';
7
- flag: 'wsCloseConnection';
6
+ flag: string & {};
8
7
  }> {
9
8
  provider: Provider;
10
- socket: WebSocket;
11
- event: WsRequestContext['TContext']['event'];
12
9
  incoming: IRequestContextIncoming;
10
+ request: IncomingMessage;
11
+ socket: Duplex;
12
+ head: Buffer;
13
13
  snapshot: import("../../models").RequestContextSnapshot<{
14
14
  transport: "ws";
15
- event: "connection" | "message";
16
- flag: "wsCloseConnection";
15
+ flag: string & {};
17
16
  }>;
18
17
  history: import("../../models").History;
19
- constructor(provider: Provider, socket: WebSocket, event: WsRequestContext['TContext']['event'], incoming: IRequestContextIncoming);
18
+ additional: {
19
+ ws: WebSocket<any, any> | null;
20
+ };
21
+ constructor(provider: Provider, incoming: IRequestContextIncoming, request: IncomingMessage, socket: Duplex, head: Buffer);
20
22
  compileSnapshot(): import("../../models").RequestContextSnapshot<{
21
23
  transport: "ws";
22
- event: "connection" | "message";
23
- flag: "wsCloseConnection";
24
+ flag: string & {};
24
25
  }>;
25
26
  handle(): this;
26
27
  skip(): this;
27
28
  complete(): this;
28
- static build(provider: Provider, socket: WebSocket, request: IncomingMessage, event: WsRequestContext['TContext']['event'], message?: RawData): Promise<WsRequestContext>;
29
+ static build(provider: Provider, request: IncomingMessage, socket: Duplex, head: Buffer): Promise<WsRequestContext>;
29
30
  }
30
31
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EAA+B,uBAAuB,EAAgB,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAM5H,qBAAa,gBAAiB,SAAQ,cAAc,CAAC;IACnD,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,mBAAmB,CAAC;CAC3B,CAAC;IAKS,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;IAC5C,QAAQ,EAAE,uBAAuB;IAPnC,QAAQ;mBAJJ,IAAI;eACR,YAAY,GAAG,SAAS;cACzB,mBAAmB;OAEgB;IAClC,OAAO,iCAAyB;gBAG9B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAC5C,QAAQ,EAAE,uBAAuB;IAKnC,eAAe;mBAhBX,IAAI;eACR,YAAY,GAAG,SAAS;cACzB,mBAAmB;;IAuBlB,MAAM,IAAI,IAAI;IAoBd,IAAI,IAAI,IAAI;IAOZ,QAAQ;WAKF,KAAK,CAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,gBAAgB,CAAC;CAc7B"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAA+B,uBAAuB,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzH,qBAAa,gBAAiB,SAAQ,cAAc,CAAC;IACnD,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC;CACnB,CAAC;IASS,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,uBAAuB;IACjC,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM;IAZd,QAAQ;mBAHJ,IAAI;cACT,MAAM,GAAG,EAAE;OAEwB;IAClC,OAAO,iCAAyB;IAEhC,UAAU;;MAEf;gBAGO,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM;IAKd,eAAe;mBApBX,IAAI;cACT,MAAM,GAAG,EAAE;;IA0BV,MAAM,IAAI,IAAI;IAkBd,IAAI,IAAI,IAAI;IAOZ,QAAQ;WASF,KAAK,CAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC;CAI7B"}
@@ -2,38 +2,37 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WsRequestContext = void 0;
4
4
  const models_1 = require("../../models");
5
- const utils_1 = require("../../../utils");
6
5
  const logger_1 = require("../../../logger");
7
- const logger = logger_1.Logger.build('Server.Transports.Ws.Context');
6
+ const utils_1 = require("../../../utils");
7
+ const logger = logger_1.Logger.build('Transports.Ws.Context');
8
8
  class WsRequestContext extends models_1.RequestContext {
9
- constructor(provider, socket, event, incoming) {
10
- super(provider, { event, transport: 'ws' });
9
+ constructor(provider, incoming, request, socket, head) {
10
+ super(provider, { transport: 'ws' });
11
11
  this.provider = provider;
12
- this.socket = socket;
13
- this.event = event;
14
12
  this.incoming = incoming;
13
+ this.request = request;
14
+ this.socket = socket;
15
+ this.head = head;
15
16
  this.snapshot = this.compileSnapshot();
16
17
  this.history = this.compileHistory();
18
+ this.additional = {
19
+ ws: (0, utils_1.cast)(null),
20
+ };
17
21
  }
18
22
  compileSnapshot() {
19
23
  const snapshot = super.compileSnapshot();
20
- snapshot.outgoing.status = this.event === 'message' ? 0 : 1000;
21
- snapshot.incoming.method = this.event === 'message' ? 'MSG' : 'CON';
24
+ snapshot.incoming.method = 'WS';
22
25
  return snapshot;
23
26
  }
24
27
  handle() {
25
- this.event === 'message'
26
- ? logger.info(`Incoming WS ${this.event} [${this.incoming.path}] got message`, this.incoming.data)
27
- : logger.info(`Incoming WS ${this.event} [${this.incoming.path}]`);
28
- if (this.event === 'connection') {
29
- this.streams.incoming.subscribe({
30
- error: () => null,
31
- next: (data) => logger.info(`Incoming WS ${this.event} [${this.incoming.path}] got message`, data),
32
- });
33
- }
28
+ logger.info(`Incoming WS connection [${this.incoming.path}]`);
29
+ this.streams.incoming.subscribe({
30
+ error: () => null,
31
+ next: (message) => logger.info(`Incoming WS connection [${this.incoming.path}] got message of [${message.dataRaw.length}] bytes`),
32
+ });
34
33
  this.streams.outgoing.subscribe({
35
34
  error: () => null,
36
- next: (data) => logger.info(`Incoming WS ${this.event} [${this.incoming.path}] has sent`, data),
35
+ next: (message) => logger.info(`Incoming WS connection [${this.incoming.path}] sent message with [${message.dataRaw.length}] bytes`),
37
36
  });
38
37
  return super.handle();
39
38
  }
@@ -43,19 +42,12 @@ class WsRequestContext extends models_1.RequestContext {
43
42
  return super.skip();
44
43
  }
45
44
  complete() {
46
- logger.info(`Incoming WS ${this.event} [${this.incoming.path}] has finished in [${Date.now() - this.timestamp}ms]`);
45
+ logger.info(`Incoming WS connection [${this.incoming.path}] has finished`, `with status [${this.outgoing?.status ?? 0}] in [${Date.now() - this.timestamp}ms]`);
47
46
  return super.complete();
48
47
  }
49
- static async build(provider, socket, request, event, message) {
48
+ static async build(provider, request, socket, head) {
50
49
  const incoming = await (0, models_1.extractHttpIncommingContext)(request);
51
- incoming.dataRaw = message ? Buffer.from(message.toString()) : undefined;
52
- incoming.data = incoming.dataRaw
53
- ? incoming.type === 'plain'
54
- ? (0, utils_1.parseJsonSafe)(incoming.dataRaw.toString()).result
55
- : (0, models_1.parsePayload)(incoming.type, incoming.dataRaw)
56
- : undefined;
57
- incoming.type = incoming.type === 'plain' && incoming.data !== undefined ? 'json' : incoming.type;
58
- return new WsRequestContext(provider, socket, event, incoming);
50
+ return new WsRequestContext(provider, incoming, request, socket, head);
59
51
  }
60
52
  }
61
53
  exports.WsRequestContext = WsRequestContext;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/context.ts"],"names":[],"mappings":";;;AAGA,yCAAyH;AACzH,4CAAyC;AACzC,0CAAsC;AAEtC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAErD,MAAa,gBAAiB,SAAQ,uBAGpC;IAQA,YACS,QAAkB,EAClB,QAAiC,EACjC,OAAwB,EACxB,MAAc,EACd,IAAY;QAEnB,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAN9B,aAAQ,GAAR,QAAQ,CAAU;QAClB,aAAQ,GAAR,QAAQ,CAAyB;QACjC,YAAO,GAAP,OAAO,CAAiB;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;QAZd,aAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,YAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhC,eAAU,GAAG;YAClB,EAAE,EAAE,IAAA,YAAI,EAAmB,IAAI,CAAC;SACjC,CAAC;IAUF,CAAC;IAEM,eAAe;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;QAEzC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,MAAM;QACX,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;YACjB,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,qBAAqB,OAAO,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC;SACjH,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC9B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;YACjB,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,wBAAwB,OAAO,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC;SACpH,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEjC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAEM,QAAQ;QACb,MAAM,CAAC,IAAI,CACT,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,gBAAgB,EAC7D,gBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,KAAK,CACpF,CAAC;QAEF,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,QAAkB,EAClB,OAAwB,EACxB,MAAc,EACd,IAAY;QAEZ,MAAM,QAAQ,GAAG,MAAM,IAAA,oCAA2B,EAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;CACF;AAvED,4CAuEC"}
@@ -1,10 +1,12 @@
1
- import { Executor, IExecutorExecOptions, IRequestContextOutgoing } from '../../models';
2
- import { WsRequestContext } from './context';
1
+ import type { Expectation, IExpectationSchemaForward } from '../../../expectations';
2
+ import type { WsRequestContext } from './context';
3
+ import { Executor, IExecutorExecOptions, IRequestContextForwarded, IRequestContextIncoming, IRequestContextOutgoing, IWebSocketConfiguration } from '../../models';
3
4
  export declare class WsExecutor extends Executor<WsRequestContext> {
4
5
  exec(context: WsRequestContext, options?: IExecutorExecOptions): Promise<WsRequestContext>;
5
- match(context: WsRequestContext): Promise<import("../../../expectations").Expectation<any> | null>;
6
- prepare(context: WsRequestContext): Promise<WsRequestContext | undefined>;
7
- forward(): Promise<null>;
6
+ match(context: WsRequestContext): Promise<Expectation | null>;
7
+ forward(context: WsRequestContext, incoming: IRequestContextIncoming, schema: IExpectationSchemaForward): Promise<IRequestContextForwarded | null>;
8
8
  reply(context: WsRequestContext, outgoing: IRequestContextOutgoing): Promise<IRequestContextOutgoing>;
9
+ /** Compiles WS request configuration to forward */
10
+ protected compileForwardingConfiguration(context: WsRequestContext, incoming: IRequestContextIncoming, schema: IExpectationSchemaForward): Promise<IWebSocketConfiguration>;
9
11
  }
10
12
  //# sourceMappingURL=executor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAM7C,qBAAa,UAAW,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAqB9D,KAAK,CAAC,OAAO,EAAE,gBAAgB;IAW/B,OAAO,CAAC,OAAO,EAAE,gBAAgB;IAOjC,OAAO;IAIP,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,uBAAuB;CAYhF"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIlD,OAAO,EACL,QAAQ,EAER,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EAGxB,MAAM,cAAc,CAAC;AAStB,qBAAa,UAAW,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe1F,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAW7D,OAAO,CAClB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAgC9B,KAAK,CAChB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,uBAAuB,CAAC;IA8CnC,mDAAmD;cACnC,8BAA8B,CAC5C,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,uBAAuB,CAAC;CAkBpC"}
@@ -1,54 +1,106 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WsExecutor = void 0;
4
- const models_1 = require("../../models");
5
4
  const utils_1 = require("../../../utils");
6
5
  const logger_1 = require("../../../logger");
7
- const logger = logger_1.Logger.build('Server.Transports.Ws.Executor');
6
+ const models_1 = require("../../models");
7
+ const logger = logger_1.Logger.build('Transports.Ws.Executor');
8
+ /** Got from `ws` package */
9
+ const checkStatusIsValid = (code) => (code >= 1000 && code <= 1014 && code !== 1004 && code !== 1005 && code !== 1006) ||
10
+ (code >= 3000 && code <= 4999);
8
11
  class WsExecutor extends models_1.Executor {
9
12
  async exec(context, options) {
10
13
  context.socket.once('close', () => context.complete());
11
- if (context.event === 'connection') {
12
- context.socket.on('message', (data) => {
13
- const serialized = data.toString();
14
- context.streams.incoming.next((0, utils_1.parseJsonSafe)(serialized).result ?? serialized);
15
- });
16
- }
14
+ context.socket.on('message', (data) => models_1.RequestMessage.build(data));
17
15
  await super.exec(context, options).catch((error) => {
18
16
  if (error instanceof models_1.ExecutorManualError && error.is('ECONNABORTED')) {
19
- return context.socket.close();
17
+ return context.socket.destroy();
20
18
  }
21
19
  logger.error('Got unexpected error while execution', error?.stack ?? error);
22
20
  });
23
- return context.event === 'connection' ? context : context.complete();
21
+ return context;
24
22
  }
25
23
  async match(context) {
26
24
  const expectation = await context.provider.storages.expectations.match(context.snapshot);
27
25
  if (!expectation) {
28
- context.event === 'connection' ? context.skip() : logger.warn('Expectation was not found');
26
+ context.skip();
29
27
  return null;
30
28
  }
31
29
  return expectation;
32
30
  }
33
- async prepare(context) {
34
- if (context.snapshot.flags.wsCloseConnection) {
35
- context.socket.close(context.snapshot.outgoing.status || 1000);
36
- return context.complete();
37
- }
38
- }
39
- async forward() {
40
- return null;
31
+ async forward(context, incoming, schema) {
32
+ const configuration = await this
33
+ .compileForwardingConfiguration(context, incoming, schema)
34
+ .catch((error) => {
35
+ context.snapshot.assign({
36
+ error: { code: 'UNKNOWN', message: error?.message ?? 'Unknown' },
37
+ outgoing: { type: 'plain', status: 1006, headers: {} },
38
+ });
39
+ logger.error('Got error while execution [compileForwardingConfiguration] method', error?.stack ?? error);
40
+ throw error;
41
+ });
42
+ context.additional.ws = models_1.WebSocketFactory
43
+ .build(configuration)
44
+ .compile()
45
+ .connect();
46
+ return {
47
+ schema,
48
+ incoming,
49
+ outgoing: {
50
+ type: 'plain',
51
+ status: 0,
52
+ headers: await context.additional.ws.headers(),
53
+ stream: context.additional.ws.observable,
54
+ },
55
+ };
41
56
  }
42
57
  async reply(context, outgoing) {
43
- await outgoing.stream?.forEach((message) => {
44
- context.streams.outgoing.next(message);
45
- context.socket.send(typeof message === 'object' ? JSON.stringify(message) : String(message));
58
+ await new Promise((resolve) => {
59
+ context.provider.server.wss.once('headers', (headers) => {
60
+ const formatted = (0, utils_1.formatHeaders)(outgoing.headers);
61
+ Object.entries(formatted).forEach(([key, value]) => headers.some((line) => line.toLowerCase().startsWith(`${key}:`))
62
+ ? null
63
+ : headers.push([key, value].join(': ')));
64
+ });
65
+ context.provider.server.wss.handleUpgrade(context.request, context.socket, context.head, async (socket) => {
66
+ await outgoing.stream?.forEach((payload) => {
67
+ const message = payload instanceof models_1.RequestMessage
68
+ ? payload
69
+ : models_1.RequestMessage.build(payload);
70
+ context.streams.outgoing.next(message);
71
+ socket.send(message.serialize());
72
+ });
73
+ const status = await context.additional.ws?.status() ?? null;
74
+ if (outgoing.status === 0) {
75
+ outgoing.status = status ?? 1000;
76
+ }
77
+ if (context.snapshot.forwarded?.outgoing) {
78
+ context.snapshot.forwarded.outgoing.status = status ?? outgoing.status;
79
+ }
80
+ if (!checkStatusIsValid(outgoing.status)) {
81
+ const fallback = status ?? 1000;
82
+ logger.warn(`Outgoing status [${outgoing.status}] is invalid. Fallback to [${fallback}]`);
83
+ outgoing.status = fallback;
84
+ }
85
+ socket.close(outgoing.status);
86
+ resolve();
87
+ });
46
88
  });
47
- if (context.event === 'connection' || context.snapshot.flags.wsCloseConnection) {
48
- context.socket.close(outgoing.status || 1000);
49
- }
50
89
  return outgoing;
51
90
  }
91
+ /** Compiles WS request configuration to forward */
92
+ async compileForwardingConfiguration(context, incoming, schema) {
93
+ const url = new URL(schema.url ?? incoming.path, schema.baseUrl);
94
+ return {
95
+ timeout: schema.timeout,
96
+ headers: (0, utils_1.formatHeaders)(Object.assign(incoming.headers, {
97
+ ...(schema.options?.overrideHost !== false && { host: url.host }),
98
+ })),
99
+ ...(schema.url && { url: schema.url }),
100
+ ...(schema.baseUrl && { baseURL: schema.baseUrl, url: incoming.path }),
101
+ query: context.incoming.query,
102
+ };
103
+ }
52
104
  }
53
105
  exports.WsExecutor = WsExecutor;
54
106
  //# sourceMappingURL=executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { WebSocket, RawData } from 'ws';
2
1
  import { IncomingMessage } from 'http';
2
+ import { Duplex } from 'stream';
3
3
  import { Provider, Router, Transport } from '../../models';
4
4
  import { WsRequestContext } from './context';
5
5
  import { IServerContext } from '../../types';
6
6
  import { WsExecutor } from './executor';
7
- export declare const buildWsListener: <T extends IServerContext>(router: Router<T>) => (socket: WebSocket, request: IncomingMessage) => Promise<void>;
7
+ export declare const buildWsListener: <T extends IServerContext>(router: Router<T>) => (request: IncomingMessage, socket: Duplex, head: Buffer) => Promise<void | Duplex | WsRequestContext>;
8
8
  export declare class WsTransport extends Transport<WsExecutor> {
9
9
  executor: WsExecutor;
10
- compileContext(provider: Provider, socket: WebSocket, request: IncomingMessage, event: WsExecutor['TContext']['event'], message?: RawData): Promise<WsRequestContext>;
10
+ compileContext(provider: Provider, request: IncomingMessage, socket: Duplex, head: Buffer): Promise<WsRequestContext>;
11
11
  }
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EAAqB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAgDxC,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,UAAU,MAAM,CAAC,CAAC,CAAC,cAC1D,SAAS,WAAW,eAAe,kBAoCjD,CAAA;AAEH,qBAAa,WAAY,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC7C,QAAQ,aAAoB;IAE5B,cAAc,CACnB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EACtC,OAAO,CAAC,EAAE,OAAO;CAIpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,UAAU,MAAM,CAAC,CAAC,CAAC,eACzD,eAAe,UAAU,MAAM,QAAQ,MAAM,8CAyC5D,CAAA;AAEH,qBAAa,WAAY,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC7C,QAAQ,aAAoB;IAE5B,cAAc,CACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM;CAIf"}