@n1k1t/mock-server 0.1.4 → 0.1.6

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 (115) hide show
  1. package/README.md +992 -43
  2. package/lib/package.json +1 -1
  3. package/lib/src/config/model.d.ts +1 -0
  4. package/lib/src/config/model.d.ts.map +1 -1
  5. package/lib/src/config/model.js +1 -0
  6. package/lib/src/config/model.js.map +1 -1
  7. package/lib/src/expectations/models/expectation.d.ts +1 -1
  8. package/lib/src/expectations/models/expectation.d.ts.map +1 -1
  9. package/lib/src/expectations/models/expectation.js +4 -8
  10. package/lib/src/expectations/models/expectation.js.map +1 -1
  11. package/lib/src/expectations/models/operator.d.ts +2 -1
  12. package/lib/src/expectations/models/operator.d.ts.map +1 -1
  13. package/lib/src/expectations/models/operator.js.map +1 -1
  14. package/lib/src/expectations/models/storage.js +1 -1
  15. package/lib/src/expectations/models/storage.js.map +1 -1
  16. package/lib/src/expectations/operators/and.operator.d.ts +2 -1
  17. package/lib/src/expectations/operators/and.operator.d.ts.map +1 -1
  18. package/lib/src/expectations/operators/and.operator.js +3 -0
  19. package/lib/src/expectations/operators/and.operator.js.map +1 -1
  20. package/lib/src/expectations/operators/exec.operator.d.ts +2 -1
  21. package/lib/src/expectations/operators/exec.operator.d.ts.map +1 -1
  22. package/lib/src/expectations/operators/exec.operator.js +3 -0
  23. package/lib/src/expectations/operators/exec.operator.js.map +1 -1
  24. package/lib/src/expectations/operators/has.operator.d.ts +2 -1
  25. package/lib/src/expectations/operators/has.operator.d.ts.map +1 -1
  26. package/lib/src/expectations/operators/has.operator.js +33 -0
  27. package/lib/src/expectations/operators/has.operator.js.map +1 -1
  28. package/lib/src/expectations/operators/if.operator.d.ts +2 -1
  29. package/lib/src/expectations/operators/if.operator.d.ts.map +1 -1
  30. package/lib/src/expectations/operators/if.operator.js +7 -0
  31. package/lib/src/expectations/operators/if.operator.js.map +1 -1
  32. package/lib/src/expectations/operators/merge.operator.d.ts +2 -1
  33. package/lib/src/expectations/operators/merge.operator.d.ts.map +1 -1
  34. package/lib/src/expectations/operators/merge.operator.js +3 -0
  35. package/lib/src/expectations/operators/merge.operator.js.map +1 -1
  36. package/lib/src/expectations/operators/not.operator.d.ts +2 -1
  37. package/lib/src/expectations/operators/not.operator.d.ts.map +1 -1
  38. package/lib/src/expectations/operators/not.operator.js +3 -0
  39. package/lib/src/expectations/operators/not.operator.js.map +1 -1
  40. package/lib/src/expectations/operators/or.operator.d.ts +2 -1
  41. package/lib/src/expectations/operators/or.operator.d.ts.map +1 -1
  42. package/lib/src/expectations/operators/or.operator.js +3 -0
  43. package/lib/src/expectations/operators/or.operator.js.map +1 -1
  44. package/lib/src/expectations/operators/remove.operator.d.ts +2 -1
  45. package/lib/src/expectations/operators/remove.operator.d.ts.map +1 -1
  46. package/lib/src/expectations/operators/remove.operator.js +3 -0
  47. package/lib/src/expectations/operators/remove.operator.js.map +1 -1
  48. package/lib/src/expectations/operators/root.operator.d.ts +2 -1
  49. package/lib/src/expectations/operators/root.operator.d.ts.map +1 -1
  50. package/lib/src/expectations/operators/root.operator.js +3 -0
  51. package/lib/src/expectations/operators/root.operator.js.map +1 -1
  52. package/lib/src/expectations/operators/set.operator.d.ts +2 -1
  53. package/lib/src/expectations/operators/set.operator.d.ts.map +1 -1
  54. package/lib/src/expectations/operators/set.operator.js +13 -0
  55. package/lib/src/expectations/operators/set.operator.js.map +1 -1
  56. package/lib/src/expectations/operators/switch.operator.d.ts +2 -1
  57. package/lib/src/expectations/operators/switch.operator.d.ts.map +1 -1
  58. package/lib/src/expectations/operators/switch.operator.js +10 -0
  59. package/lib/src/expectations/operators/switch.operator.js.map +1 -1
  60. package/lib/src/expectations/types.d.ts +12 -16
  61. package/lib/src/expectations/types.d.ts.map +1 -1
  62. package/lib/src/expectations/types.js +3 -6
  63. package/lib/src/expectations/types.js.map +1 -1
  64. package/lib/src/expectations/utils.d.ts +1 -6
  65. package/lib/src/expectations/utils.d.ts.map +1 -1
  66. package/lib/src/expectations/utils.js +2 -33
  67. package/lib/src/expectations/utils.js.map +1 -1
  68. package/lib/src/index.d.ts +0 -1
  69. package/lib/src/index.d.ts.map +1 -1
  70. package/lib/src/index.js +0 -1
  71. package/lib/src/index.js.map +1 -1
  72. package/lib/src/logger/index.d.ts +2 -2
  73. package/lib/src/logger/index.d.ts.map +1 -1
  74. package/lib/src/logger/index.js +4 -2
  75. package/lib/src/logger/index.js.map +1 -1
  76. package/lib/src/logger/utils.d.ts.map +1 -1
  77. package/lib/src/logger/utils.js +6 -5
  78. package/lib/src/logger/utils.js.map +1 -1
  79. package/lib/src/server/endpoints/config.get.endpoint.d.ts +3 -0
  80. package/lib/src/server/endpoints/config.get.endpoint.d.ts.map +1 -1
  81. package/lib/src/server/endpoints/history.get-list.endpoint.d.ts +3 -3
  82. package/lib/src/server/history/model.d.ts +9 -13
  83. package/lib/src/server/history/model.d.ts.map +1 -1
  84. package/lib/src/server/history/model.js +14 -8
  85. package/lib/src/server/history/model.js.map +1 -1
  86. package/lib/src/server/history/storage.d.ts +1 -1
  87. package/lib/src/server/history/storage.d.ts.map +1 -1
  88. package/lib/src/server/history/storage.js +6 -6
  89. package/lib/src/server/history/storage.js.map +1 -1
  90. package/lib/src/server/history/types.d.ts +9 -1
  91. package/lib/src/server/history/types.d.ts.map +1 -1
  92. package/lib/src/server/middlewares/destroy.midleware.js +2 -2
  93. package/lib/src/server/middlewares/destroy.midleware.js.map +1 -1
  94. package/lib/src/server/middlewares/forward.middleware.d.ts.map +1 -1
  95. package/lib/src/server/middlewares/forward.middleware.js +22 -14
  96. package/lib/src/server/middlewares/forward.middleware.js.map +1 -1
  97. package/lib/src/server/middlewares/history.middleware.js +1 -1
  98. package/lib/src/server/middlewares/history.middleware.js.map +1 -1
  99. package/lib/src/server/middlewares/match-expectation.middleware.d.ts.map +1 -1
  100. package/lib/src/server/middlewares/match-expectation.middleware.js +10 -4
  101. package/lib/src/server/middlewares/match-expectation.middleware.js.map +1 -1
  102. package/lib/src/server/middlewares/reply.middleware.js +2 -2
  103. package/lib/src/server/middlewares/reply.middleware.js.map +1 -1
  104. package/lib/tsconfig.tsbuildinfo +1 -1
  105. package/package.json +1 -1
  106. package/public/index.html +13 -7
  107. package/public/scripts/main.js +1280 -534
  108. package/public/styles/main.css +264 -119
  109. package/screenshots/history.png +0 -0
  110. package/screenshots/preview.png +0 -0
  111. package/screenshots/strategy.png +0 -0
  112. package/lib/src/process.d.ts +0 -2
  113. package/lib/src/process.d.ts.map +0 -1
  114. package/lib/src/process.js +0 -7
  115. package/lib/src/process.js.map +0 -1
@@ -12,13 +12,19 @@ class History {
12
12
  updatedAt: Date.now(),
13
13
  };
14
14
  }
15
- changeState(state) {
16
- Object.assign(this.meta, { state, updatedAt: Date.now() });
15
+ switchState(state) {
16
+ this.meta.updatedAt = Date.now();
17
+ this.meta.state = state;
17
18
  return this;
18
19
  }
19
- assign(context) {
20
- Object.assign(this.meta, { updatedAt: Date.now() });
21
- return Object.assign(this, context);
20
+ assignExpectation(expectation) {
21
+ this.meta.updatedAt = Date.now();
22
+ return Object.assign(this, { expectation });
23
+ }
24
+ assignError(error) {
25
+ this.meta.updatedAt = Date.now();
26
+ this.request.error = error;
27
+ return this;
22
28
  }
23
29
  assignOutgoing(outgoing) {
24
30
  this.meta.updatedAt = Date.now();
@@ -27,8 +33,9 @@ class History {
27
33
  }
28
34
  extendForwarded(forwarded) {
29
35
  this.meta.updatedAt = Date.now();
30
- this.forwaded = Object.assign((this.forwaded ?? {}), forwarded);
31
- return this;
36
+ return Object.assign(this, {
37
+ forwarded: Object.assign((this.forwaded ?? {}), forwarded)
38
+ });
32
39
  }
33
40
  toPlain() {
34
41
  return {
@@ -36,7 +43,6 @@ class History {
36
43
  meta: this.meta,
37
44
  request: this.request,
38
45
  forwaded: this.forwaded,
39
- error: this.error,
40
46
  expectation: this.expectation?.toPlain(),
41
47
  };
42
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/server/history/model.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AAMpC,MAAa,OAAO;IAuBlB,YAAmB,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;QAlBtE,OAAE,GAAW,IAAA,SAAM,GAAE,CAAC;QAWtB,SAAI,GAAuB;YAChC,KAAK,EAAE,SAAS;YAEhB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IAE8E,CAAC;IAE1E,WAAW,CAAC,KAAkC;QACnD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAA8D,OAAU;QACnF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,cAAc,CAAC,QAAqD;QACzE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEjC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,eAAe,CAAC,SAAoD;QACzE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAmC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAElG,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO;QACZ,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YAEf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YAEvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE;SACzC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAA2B;QACtC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF;AAjED,0BAiEC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/server/history/model.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AAMpC,MAAa,OAAO;IAiBlB,YAAmB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;QAZpC,OAAE,GAAW,IAAA,SAAM,GAAE,CAAC;QAKtB,SAAI,GAAiB;YAC1B,KAAK,EAAE,SAAS;YAEhB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IAE4C,CAAC;IAExC,WAAW,CAAC,KAA4B;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,WAAgD;QACvE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,WAAW,CAAC,KAA4C;QAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAE3B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,cAAc,CAAC,QAAqD;QACzE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEjC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,eAAe,CAAC,SAAoD;QACzE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEjC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACzB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAmC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC;SAC7F,CAAC,CAAC;IACL,CAAC;IAEM,OAAO;QACZ,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YAEf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YAEvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE;SACzC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAA2B;QACtC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF;AApED,0BAoEC"}
@@ -1,6 +1,6 @@
1
1
  import { History } from './model';
2
2
  export declare class HistoryStorage extends Map<string, History> {
3
- private idsStack;
3
+ private ids;
4
4
  register(request: History['request']): History;
5
5
  }
6
6
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/server/history/storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,cAAe,SAAQ,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAgB;IAEzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO;CAWtD"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/server/history/storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,cAAe,SAAQ,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,OAAO,CAAC,GAAG,CAAgB;IAEpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO;CAUtD"}
@@ -9,15 +9,15 @@ const model_1 = require("./model");
9
9
  class HistoryStorage extends Map {
10
10
  constructor() {
11
11
  super(...arguments);
12
- this.idsStack = [];
12
+ this.ids = [];
13
13
  }
14
14
  register(request) {
15
- const historyRecord = model_1.History.build(request);
16
- this.set(historyRecord.id, historyRecord);
17
- if (this.idsStack.push(historyRecord.id) > config_1.default.get('history').limit) {
18
- this.delete(this.idsStack.shift());
15
+ const history = model_1.History.build(request);
16
+ this.set(history.id, history);
17
+ if (this.ids.push(history.id) > config_1.default.get('history').limit) {
18
+ this.delete(this.ids.shift());
19
19
  }
20
- return historyRecord;
20
+ return history;
21
21
  }
22
22
  }
23
23
  exports.HistoryStorage = HistoryStorage;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/server/history/storage.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,mCAAkC;AAElC,MAAa,cAAe,SAAQ,GAAoB;IAAxD;;QACU,aAAQ,GAAa,EAAE,CAAC;IAalC,CAAC;IAXQ,QAAQ,CAAC,OAA2B;QACzC,MAAM,aAAa,GAAG,eAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,gBAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAG,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAdD,wCAcC"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/server/history/storage.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,mCAAkC;AAElC,MAAa,cAAe,SAAQ,GAAoB;IAAxD;;QACU,QAAG,GAAa,EAAE,CAAC;IAY7B,CAAC;IAVQ,QAAQ,CAAC,OAA2B;QACzC,MAAM,OAAO,GAAG,eAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,gBAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAG,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAbD,wCAaC"}
@@ -1,4 +1,12 @@
1
- export interface IHistoryRecordMeta {
1
+ import type { HttpRequestContext } from '../models';
2
+ export interface IHistoryRequest extends Pick<HttpRequestContext['TPlain'], 'incoming' | 'outgoing' | 'seed'> {
3
+ error?: {
4
+ code?: string;
5
+ message?: string;
6
+ isManual?: boolean;
7
+ };
8
+ }
9
+ export interface IHistoryMeta {
2
10
  state: 'pending' | 'finished';
3
11
  requestedAt: number;
4
12
  updatedAt: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/history/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/history/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAC3G,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -6,8 +6,8 @@ exports.default = models_1.Middleware
6
6
  .assignHandler((context, { logger }) => {
7
7
  if (context.shared.manipulated.incoming.error) {
8
8
  context.shared.history
9
- .assign({ error: { code: context.shared.manipulated.incoming.error, isManual: true } })
10
- .changeState('finished');
9
+ .assignError({ code: context.shared.manipulated.incoming.error, isManual: true })
10
+ .switchState('finished');
11
11
  context.server.exchange.ws.publish('history:updated', context.shared.history.toPlain());
12
12
  logger.info(`Has destroyed using [${context.shared.manipulated.incoming.error}]`);
13
13
  context.response.destroy(new Error(context.shared.manipulated.incoming.error));
@@ -1 +1 @@
1
- {"version":3,"file":"destroy.midleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/destroy.midleware.ts"],"names":[],"mappings":";;AACA,sCAAuC;AAEvC,kBAAe,mBAAU;KACtB,KAAK,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;KAC7C,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACrC,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,OAAO;aACnB,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;aACtF,WAAW,CAAC,UAAU,CAAC,CAAC;QAE3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,MAAM,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QAElF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"destroy.midleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/destroy.midleware.ts"],"names":[],"mappings":";;AACA,sCAAuC;AAEvC,kBAAe,mBAAU;KACtB,KAAK,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;KAC7C,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACrC,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,OAAO;aACnB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAChF,WAAW,CAAC,UAAU,CAAC,CAAC;QAE3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,MAAM,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QAElF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"forward.middleware.d.ts","sourceRoot":"","sources":["../../../../src/server/middlewares/forward.middleware.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,UAAU,EAAkC,MAAM,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAE3F,wBAuFK"}
1
+ {"version":3,"file":"forward.middleware.d.ts","sourceRoot":"","sources":["../../../../src/server/middlewares/forward.middleware.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,UAAU,EAAkC,MAAM,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAG3F,wBAsGK"}
@@ -7,6 +7,7 @@ const axios_1 = __importDefault(require("axios"));
7
7
  const https_proxy_agent_1 = __importDefault(require("https-proxy-agent"));
8
8
  const lodash_1 = __importDefault(require("lodash"));
9
9
  const models_1 = require("../models");
10
+ const url_1 = require("url");
10
11
  exports.default = models_1.Middleware
11
12
  .build(__filename, ['expectation', 'manipulated', 'history'])
12
13
  .assignHandler(async (context, { logger }) => {
@@ -18,23 +19,16 @@ exports.default = models_1.Middleware
18
19
  const incomingType = (0, models_1.extractPayloadType)(forwarded.incoming.headers);
19
20
  const body = forwarded.incoming.body === undefined ? forwarded.incoming.bodyRaw : forwarded.incoming.body;
20
21
  const bodyRaw = Buffer.from(typeof body === 'object' ? (0, models_1.serializePayload)(incomingType, body) : String(body));
21
- Object.assign(forwarded.incoming, {
22
- type: incomingType,
23
- bodyRaw: bodyRaw.toString(),
22
+ const configuration = await context.server.plugins.exec('forward.request', {
23
+ timeout: timeout ?? 1000 * 30,
24
+ method: forwarded.incoming.method,
24
25
  headers: {
25
26
  'connection': 'close',
26
27
  ...forwarded.incoming.headers,
27
- ...((!forwarded.incoming.headers?.['transfer-encoding'] && bodyRaw?.length) && {
28
+ ...((!forwarded.incoming.headers?.['transfer-encoding'] && bodyRaw.length) && {
28
29
  'content-length': String(bodyRaw.length),
29
30
  }),
30
31
  },
31
- });
32
- const history = context.shared.history.extendForwarded(forwarded);
33
- context.server.exchange.ws.publish('history:updated', history.toPlain());
34
- const configuration = await context.server.plugins.exec('forward.request', {
35
- timeout: timeout ?? 1000 * 30,
36
- method: forwarded.incoming.method,
37
- headers: forwarded.incoming.headers,
38
32
  ...(url && { url }),
39
33
  ...(baseUrl && { baseURL: baseUrl, url: forwarded.incoming.path }),
40
34
  data: bodyRaw,
@@ -45,11 +39,25 @@ exports.default = models_1.Middleware
45
39
  httpsAgent: (0, https_proxy_agent_1.default)(proxy.host)
46
40
  }),
47
41
  }, context);
42
+ const forwardedType = (0, models_1.extractPayloadType)(configuration.headers ?? {});
43
+ Object.assign(forwarded.incoming, {
44
+ type: forwardedType,
45
+ path: new url_1.URL(configuration.url ?? forwarded.incoming.path, baseUrl).pathname,
46
+ method: configuration.method ?? forwarded.incoming.method,
47
+ headers: configuration.headers ?? {},
48
+ ...(configuration.params && { query: configuration.params }),
49
+ body: (0, models_1.parsePayload)(forwardedType, configuration.data instanceof Buffer ? configuration.data.toString() : configuration.data),
50
+ bodyRaw: configuration.data instanceof Buffer
51
+ ? configuration.data.toString()
52
+ : typeof configuration.data === 'string'
53
+ ? configuration.data
54
+ : '',
55
+ });
56
+ const history = context.shared.history.extendForwarded(forwarded);
57
+ context.server.exchange.ws.publish('history:updated', history.toPlain());
48
58
  const response = await axios_1.default.request(configuration).catch((error) => {
49
59
  if (!error.response) {
50
- history
51
- .assign({ error: lodash_1.default.pick(error, ['message', 'code']) })
52
- .changeState('finished');
60
+ history.assignError(lodash_1.default.pick(error, ['message', 'code'])).switchState('finished');
53
61
  context.server.exchange.ws.publish('history:updated', history.toPlain());
54
62
  context.reply.internalError(error.message);
55
63
  logger.error('Got error while forwaring', error?.stack ?? error);
@@ -1 +1 @@
1
- {"version":3,"file":"forward.middleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/forward.middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forward.middleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/forward.middleware.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ exports.default = models_1.Middleware
6
6
  .assignHandler((context) => {
7
7
  const history = context.server.storage.history
8
8
  .register(context.toPlain({ locations: ['incoming'] }))
9
- .assign({ expectation: context.shared.expectation });
9
+ .assignExpectation(context.shared.expectation);
10
10
  context.server.exchange.ws.publish('history:added', history.toPlain());
11
11
  context.share({ history });
12
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"history.middleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/history.middleware.ts"],"names":[],"mappings":";;AACA,sCAAuC;AAEvC,kBAAe,mBAAU;KACtB,KAAK,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC;KAClC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;IACzB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;SAC3C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SACtD,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAEvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"history.middleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/history.middleware.ts"],"names":[],"mappings":";;AACA,sCAAuC;AAEvC,kBAAe,mBAAU;KACtB,KAAK,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC;KAClC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;IACzB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;SAC3C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SACtD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"match-expectation.middleware.d.ts","sourceRoot":"","sources":["../../../../src/server/middlewares/match-expectation.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAEvC,wBAqBK"}
1
+ {"version":3,"file":"match-expectation.middleware.d.ts","sourceRoot":"","sources":["../../../../src/server/middlewares/match-expectation.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,UAAU,EAAE,MAAM,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAGhE,wBAyBK"}
@@ -1,20 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const models_1 = require("../models");
4
+ const utils_1 = require("../../utils");
4
5
  exports.default = models_1.Middleware
5
6
  .build(__filename)
6
7
  .assignHandler((context, { logger }) => {
7
- const plain = context.toPlain({ locations: ['incoming'] });
8
+ const plain = context.toPlain({ clone: true, locations: ['incoming'] });
8
9
  const expectation = context.server.storage.expectations.match('request', plain);
9
10
  if (!expectation) {
10
11
  const history = context.server.storage.history
11
- .register(plain)
12
- .changeState('finished');
12
+ .register(Object.assign(plain, {
13
+ outgoing: (0, utils_1.cast)({
14
+ type: 'json',
15
+ status: 404,
16
+ headers: {},
17
+ })
18
+ }))
19
+ .switchState('finished');
13
20
  context.server.exchange.ws.publish('history:added', history.toPlain());
14
21
  return context.reply.notFound();
15
22
  }
16
23
  logger.info('Has matched with', `"${expectation.name}" [${expectation.id}]`);
17
- expectation.increaseExecutionsCounter();
18
24
  context.server.exchange.ws.publish('expectation:updated', expectation.toPlain());
19
25
  context.share({ expectation });
20
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"match-expectation.middleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/match-expectation.middleware.ts"],"names":[],"mappings":";;AACA,sCAAuC;AAEvC,kBAAe,mBAAU;KACtB,KAAK,CAAC,UAAU,CAAC;KACjB,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAM,SAAS,EAAE,KAAK,CAAC,CAAC;IAErF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;aAC3C,QAAQ,CAAC,KAAK,CAAC;aACf,WAAW,CAAC,UAAU,CAAC,CAAC;QAE3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,WAAW,CAAC,IAAI,MAAM,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;IAE7E,WAAW,CAAC,yBAAyB,EAAE,CAAC;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"match-expectation.middleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/match-expectation.middleware.ts"],"names":[],"mappings":";;AAEA,sCAAgE;AAChE,uCAAmC;AAEnC,kBAAe,mBAAU;KACtB,KAAK,CAAC,UAAU,CAAC;KACjB,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAM,SAAS,EAAE,KAAK,CAAC,CAAC;IAErF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;aAC3C,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YAC7B,QAAQ,EAAE,IAAA,YAAI,EAA0B;gBACtC,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE;aACZ,CAAC;SACH,CAAC,CAAC;aACF,WAAW,CAAC,UAAU,CAAC,CAAC;QAE3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,WAAW,CAAC,IAAI,MAAM,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;IAE7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC"}
@@ -28,7 +28,7 @@ exports.default = models_1.Middleware
28
28
  const dataRaw = Buffer.from(typeof data === 'object' ? (0, models_1.serializePayload)(type, data) : String(data));
29
29
  Object.assign(outgoing, {
30
30
  type,
31
- dataRaw,
31
+ dataRaw: dataRaw.toString(),
32
32
  headers: Object.assign(outgoing.headers, {
33
33
  ...((!outgoing.headers?.['transfer-encoding'] && !context.request.headers['transfer-encoding']) && {
34
34
  'content-length': String(dataRaw.length),
@@ -36,7 +36,7 @@ exports.default = models_1.Middleware
36
36
  })
37
37
  });
38
38
  await context.server.plugins.exec('outgoing.response', context.response, context.assignOutgoing(outgoing));
39
- context.shared.history.assignOutgoing(context.outgoing).changeState('finished');
39
+ context.shared.history.assignOutgoing(context.outgoing).switchState('finished');
40
40
  context.server.exchange.ws.publish('history:updated', context.shared.history.toPlain());
41
41
  context.complete();
42
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"reply.middleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/reply.middleware.ts"],"names":[],"mappings":";;AAEA,sCAOmB;AAEnB,MAAM,kBAAkB,GAAG,CAAC,QAAiC,EAA2B,EAAE,CAAC,CAAC;IAC1F,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,MAAM,EAAE,GAAG;IAEX,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IACzC,OAAO,EAAE,EAAE;IAEX,OAAO,EAAE;QACP,cAAc,EAAE,QAAQ,CAAC,IAAI,KAAK,MAAM;YACtC,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK;gBACzB,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,YAAY;KACrD;CACF,CAAC,CAAC;AAEH,kBAAe,mBAAU;KACtB,KAAK,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;KAC7C,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9F,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;QAClE,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC5E,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,QAAQ,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5G,MAAM,IAAI,GAAG,IAAA,2BAAkB,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,yBAAgB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;QACtB,IAAI;QACJ,OAAO;QAEP,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;YACvC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,IAAI;gBACjG,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aACzC,CAAC;SACH,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3G,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,QAAS,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAExF,OAAO,CAAC,QAAQ,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"reply.middleware.js","sourceRoot":"","sources":["../../../../src/server/middlewares/reply.middleware.ts"],"names":[],"mappings":"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"}