@dooboostore/simple-boot-http-server 1.0.18 → 1.0.19

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 (199) hide show
  1. package/dist/cjs/SimpleBootHttpServer.d.ts +2 -1
  2. package/dist/cjs/SimpleBootHttpServer.d.ts.map +1 -1
  3. package/dist/cjs/SimpleBootHttpServer.js +53 -673
  4. package/dist/cjs/SimpleBootHttpServer.js.map +4 -4
  5. package/dist/cjs/codes/HttpHeaders.js +0 -2
  6. package/dist/cjs/codes/HttpHeaders.js.map +1 -1
  7. package/dist/cjs/codes/HttpMethod.js +0 -2
  8. package/dist/cjs/codes/HttpMethod.js.map +1 -1
  9. package/dist/cjs/codes/HttpStatus.js +0 -2
  10. package/dist/cjs/codes/HttpStatus.js.map +1 -1
  11. package/dist/cjs/codes/Mimes.js +0 -2
  12. package/dist/cjs/codes/Mimes.js.map +1 -1
  13. package/dist/cjs/codes/index.js +9 -126
  14. package/dist/cjs/codes/index.js.map +4 -4
  15. package/dist/cjs/decorators/MethodMapping.d.ts +0 -1
  16. package/dist/cjs/decorators/MethodMapping.d.ts.map +1 -1
  17. package/dist/cjs/decorators/MethodMapping.js +51 -53
  18. package/dist/cjs/decorators/MethodMapping.js.map +2 -2
  19. package/dist/cjs/decorators/index.js +3 -248
  20. package/dist/cjs/decorators/index.js.map +4 -4
  21. package/dist/cjs/endpoints/CrossDomainHeaderEndPoint.js +7 -8
  22. package/dist/cjs/endpoints/CrossDomainHeaderEndPoint.js.map +1 -1
  23. package/dist/cjs/endpoints/EndPoint.js +0 -2
  24. package/dist/cjs/endpoints/EndPoint.js.map +1 -1
  25. package/dist/cjs/endpoints/HeaderEndPoint.js +2 -4
  26. package/dist/cjs/endpoints/HeaderEndPoint.js.map +1 -1
  27. package/dist/cjs/endpoints/index.js +7 -54
  28. package/dist/cjs/endpoints/index.js.map +3 -3
  29. package/dist/cjs/errors/BadRequestError.js +5 -16
  30. package/dist/cjs/errors/BadRequestError.js.map +3 -3
  31. package/dist/cjs/errors/ForbiddenError.js +5 -16
  32. package/dist/cjs/errors/ForbiddenError.js.map +3 -3
  33. package/dist/cjs/errors/HttpError.js +7 -5
  34. package/dist/cjs/errors/HttpError.js.map +1 -1
  35. package/dist/cjs/errors/InternalServerError.js +5 -16
  36. package/dist/cjs/errors/InternalServerError.js.map +3 -3
  37. package/dist/cjs/errors/NotFoundError.js +5 -16
  38. package/dist/cjs/errors/NotFoundError.js.map +3 -3
  39. package/dist/cjs/errors/UnauthorizedError.js +5 -16
  40. package/dist/cjs/errors/UnauthorizedError.js.map +3 -3
  41. package/dist/cjs/errors/index.js +13 -64
  42. package/dist/cjs/errors/index.js.map +3 -3
  43. package/dist/cjs/filters/CacheFilter.js +14 -17
  44. package/dist/cjs/filters/CacheFilter.js.map +2 -2
  45. package/dist/cjs/filters/Filter.js +0 -2
  46. package/dist/cjs/filters/Filter.js.map +1 -1
  47. package/dist/cjs/filters/HttpStatusFilter.js +2 -4
  48. package/dist/cjs/filters/HttpStatusFilter.js.map +1 -1
  49. package/dist/cjs/filters/OpenApi3Filter.js +8 -20
  50. package/dist/cjs/filters/OpenApi3Filter.js.map +3 -3
  51. package/dist/cjs/filters/ResourceFilter.js +7 -7
  52. package/dist/cjs/filters/ResourceFilter.js.map +1 -1
  53. package/dist/cjs/filters/ThrowFilter.js +2 -4
  54. package/dist/cjs/filters/ThrowFilter.js.map +1 -1
  55. package/dist/cjs/filters/index.js +13 -299
  56. package/dist/cjs/filters/index.js.map +4 -4
  57. package/dist/cjs/index.d.ts +2 -12
  58. package/dist/cjs/index.d.ts.map +1 -1
  59. package/dist/cjs/index.js +2 -1734
  60. package/dist/cjs/index.js.map +4 -4
  61. package/dist/cjs/inject/InjectSituationType.js +0 -2
  62. package/dist/cjs/inject/InjectSituationType.js.map +1 -1
  63. package/dist/cjs/inject/index.js +3 -16
  64. package/dist/cjs/inject/index.js.map +4 -4
  65. package/dist/cjs/lifecycle/OnInit.js +0 -2
  66. package/dist/cjs/lifecycle/OnInit.js.map +1 -1
  67. package/dist/cjs/lifecycle/index.js +6 -2
  68. package/dist/cjs/lifecycle/index.js.map +1 -1
  69. package/dist/cjs/models/RequestResponse.js +26 -33
  70. package/dist/cjs/models/RequestResponse.js.map +3 -3
  71. package/dist/cjs/models/datas/HeaderData.js +2 -4
  72. package/dist/cjs/models/datas/HeaderData.js.map +1 -1
  73. package/dist/cjs/models/datas/MultipartData.js +0 -2
  74. package/dist/cjs/models/datas/MultipartData.js.map +1 -1
  75. package/dist/cjs/models/datas/ReqHeader.js +65 -4
  76. package/dist/cjs/models/datas/ReqHeader.js.map +1 -1
  77. package/dist/cjs/models/datas/Resource.js +8 -480
  78. package/dist/cjs/models/datas/Resource.js.map +4 -4
  79. package/dist/cjs/models/datas/body/ReqFormUrlBody.js +2 -4
  80. package/dist/cjs/models/datas/body/ReqFormUrlBody.js.map +1 -1
  81. package/dist/cjs/models/datas/body/ReqJsonBody.js +2 -4
  82. package/dist/cjs/models/datas/body/ReqJsonBody.js.map +1 -1
  83. package/dist/cjs/models/datas/body/ReqMultipartFormBody.js +2 -4
  84. package/dist/cjs/models/datas/body/ReqMultipartFormBody.js.map +1 -1
  85. package/dist/cjs/models/index.js +19 -574
  86. package/dist/cjs/models/index.js.map +4 -4
  87. package/dist/cjs/models/method/patch/PatchJson.js +2 -4
  88. package/dist/cjs/models/method/patch/PatchJson.js.map +1 -1
  89. package/dist/cjs/option/HttpServerOption.js +16 -11
  90. package/dist/cjs/option/HttpServerOption.js.map +1 -1
  91. package/dist/cjs/option/index.js +3 -50
  92. package/dist/cjs/option/index.js.map +3 -3
  93. package/dist/cjs/resolvers/Resolver.js +0 -2
  94. package/dist/cjs/resolvers/Resolver.js.map +1 -1
  95. package/dist/cjs/resolvers/ResourceResolver.js +10 -538
  96. package/dist/cjs/resolvers/ResourceResolver.js.map +4 -4
  97. package/dist/cjs/resolvers/index.js +5 -552
  98. package/dist/cjs/resolvers/index.js.map +4 -4
  99. package/dist/cjs/session/SessionManager.js +6 -479
  100. package/dist/cjs/session/SessionManager.js.map +4 -4
  101. package/dist/cjs/session/index.js +3 -560
  102. package/dist/cjs/session/index.js.map +4 -4
  103. package/dist/esm/SimpleBootHttpServer.d.ts +2 -1
  104. package/dist/esm/SimpleBootHttpServer.d.ts.map +1 -1
  105. package/dist/esm/SimpleBootHttpServer.js +37 -656
  106. package/dist/esm/SimpleBootHttpServer.js.map +4 -4
  107. package/dist/esm/codes/HttpHeaders.js +0 -1
  108. package/dist/esm/codes/HttpHeaders.js.map +1 -1
  109. package/dist/esm/codes/HttpMethod.js +0 -1
  110. package/dist/esm/codes/HttpMethod.js.map +1 -1
  111. package/dist/esm/codes/HttpStatus.js +0 -1
  112. package/dist/esm/codes/HttpStatus.js.map +1 -1
  113. package/dist/esm/codes/Mimes.js +0 -1
  114. package/dist/esm/codes/Mimes.js.map +1 -1
  115. package/dist/esm/codes/index.js +4 -115
  116. package/dist/esm/codes/index.js.map +4 -4
  117. package/dist/esm/decorators/MethodMapping.d.ts +0 -1
  118. package/dist/esm/decorators/MethodMapping.d.ts.map +1 -1
  119. package/dist/esm/decorators/MethodMapping.js +51 -52
  120. package/dist/esm/decorators/MethodMapping.js.map +2 -2
  121. package/dist/esm/decorators/index.js +1 -210
  122. package/dist/esm/decorators/index.js.map +4 -4
  123. package/dist/esm/endpoints/CrossDomainHeaderEndPoint.js +7 -7
  124. package/dist/esm/endpoints/CrossDomainHeaderEndPoint.js.map +1 -1
  125. package/dist/esm/endpoints/HeaderEndPoint.js +2 -3
  126. package/dist/esm/endpoints/HeaderEndPoint.js.map +1 -1
  127. package/dist/esm/endpoints/index.js +3 -45
  128. package/dist/esm/endpoints/index.js.map +3 -3
  129. package/dist/esm/errors/BadRequestError.js +5 -13
  130. package/dist/esm/errors/BadRequestError.js.map +3 -3
  131. package/dist/esm/errors/ForbiddenError.js +5 -13
  132. package/dist/esm/errors/ForbiddenError.js.map +3 -3
  133. package/dist/esm/errors/HttpError.js +7 -4
  134. package/dist/esm/errors/HttpError.js.map +1 -1
  135. package/dist/esm/errors/InternalServerError.js +5 -13
  136. package/dist/esm/errors/InternalServerError.js.map +3 -3
  137. package/dist/esm/errors/NotFoundError.js +5 -13
  138. package/dist/esm/errors/NotFoundError.js.map +3 -3
  139. package/dist/esm/errors/UnauthorizedError.js +5 -13
  140. package/dist/esm/errors/UnauthorizedError.js.map +3 -3
  141. package/dist/esm/errors/index.js +6 -51
  142. package/dist/esm/errors/index.js.map +3 -3
  143. package/dist/esm/filters/CacheFilter.js +14 -16
  144. package/dist/esm/filters/CacheFilter.js.map +2 -2
  145. package/dist/esm/filters/HttpStatusFilter.js +2 -3
  146. package/dist/esm/filters/HttpStatusFilter.js.map +1 -1
  147. package/dist/esm/filters/OpenApi3Filter.js +7 -16
  148. package/dist/esm/filters/OpenApi3Filter.js.map +3 -3
  149. package/dist/esm/filters/ResourceFilter.js +7 -6
  150. package/dist/esm/filters/ResourceFilter.js.map +1 -1
  151. package/dist/esm/filters/ThrowFilter.js +2 -3
  152. package/dist/esm/filters/ThrowFilter.js.map +1 -1
  153. package/dist/esm/filters/index.js +6 -277
  154. package/dist/esm/filters/index.js.map +4 -4
  155. package/dist/esm/index.d.ts +2 -12
  156. package/dist/esm/index.d.ts.map +1 -1
  157. package/dist/esm/index.js +2 -1659
  158. package/dist/esm/index.js.map +4 -4
  159. package/dist/esm/inject/InjectSituationType.js +0 -1
  160. package/dist/esm/inject/InjectSituationType.js.map +1 -1
  161. package/dist/esm/inject/index.js +1 -8
  162. package/dist/esm/inject/index.js.map +4 -4
  163. package/dist/esm/lifecycle/index.js +1 -0
  164. package/dist/esm/lifecycle/index.js.map +3 -3
  165. package/dist/esm/models/RequestResponse.js +23 -29
  166. package/dist/esm/models/RequestResponse.js.map +3 -3
  167. package/dist/esm/models/datas/HeaderData.js +2 -3
  168. package/dist/esm/models/datas/HeaderData.js.map +1 -1
  169. package/dist/esm/models/datas/ReqHeader.js +65 -3
  170. package/dist/esm/models/datas/ReqHeader.js.map +1 -1
  171. package/dist/esm/models/datas/Resource.js +7 -478
  172. package/dist/esm/models/datas/Resource.js.map +4 -4
  173. package/dist/esm/models/datas/body/ReqFormUrlBody.js +2 -3
  174. package/dist/esm/models/datas/body/ReqFormUrlBody.js.map +1 -1
  175. package/dist/esm/models/datas/body/ReqJsonBody.js +2 -3
  176. package/dist/esm/models/datas/body/ReqJsonBody.js.map +1 -1
  177. package/dist/esm/models/datas/body/ReqMultipartFormBody.js +2 -3
  178. package/dist/esm/models/datas/body/ReqMultipartFormBody.js.map +1 -1
  179. package/dist/esm/models/index.js +9 -548
  180. package/dist/esm/models/index.js.map +4 -4
  181. package/dist/esm/models/method/patch/PatchJson.js +2 -3
  182. package/dist/esm/models/method/patch/PatchJson.js.map +1 -1
  183. package/dist/esm/option/HttpServerOption.js +16 -10
  184. package/dist/esm/option/HttpServerOption.js.map +1 -1
  185. package/dist/esm/option/index.js +1 -42
  186. package/dist/esm/option/index.js.map +3 -3
  187. package/dist/esm/resolvers/ResourceResolver.js +8 -526
  188. package/dist/esm/resolvers/ResourceResolver.js.map +4 -4
  189. package/dist/esm/resolvers/index.js +2 -537
  190. package/dist/esm/resolvers/index.js.map +4 -4
  191. package/dist/esm/session/SessionManager.js +5 -477
  192. package/dist/esm/session/SessionManager.js.map +3 -3
  193. package/dist/esm/session/index.js +1 -552
  194. package/dist/esm/session/index.js.map +3 -3
  195. package/dist/esm-bundle/dooboostore-simple-boot-http-server.esm.js +3 -1659
  196. package/dist/esm-bundle/dooboostore-simple-boot-http-server.esm.js.map +4 -4
  197. package/dist/umd-bundle/dooboostore-simple-boot-http-server.umd.js +2 -1673
  198. package/dist/umd-bundle/dooboostore-simple-boot-http-server.umd.js.map +4 -4
  199. package/package.json +15 -12
@@ -2,10 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
5
  var __copyProps = (to, from, except, desc) => {
10
6
  if (from && typeof from === "object" || typeof from === "function") {
11
7
  for (let key of __getOwnPropNames(from))
@@ -14,70 +10,23 @@ var __copyProps = (to, from, except, desc) => {
14
10
  }
15
11
  return to;
16
12
  };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/errors/index.ts
20
15
  var errors_exports = {};
21
- __export(errors_exports, {
22
- BadRequestError: () => BadRequestError,
23
- ForbiddenError: () => ForbiddenError,
24
- HttpError: () => HttpError,
25
- InternalServerError: () => InternalServerError,
26
- NotFoundError: () => NotFoundError,
27
- UnauthorizedError: () => UnauthorizedError
28
- });
29
16
  module.exports = __toCommonJS(errors_exports);
30
-
31
- // src/errors/HttpError.ts
32
- var HttpError = class {
33
- constructor({ status, message = "HttpError" }) {
34
- this.name = "Error";
35
- this.message = message;
36
- this.status = status;
37
- }
38
- };
39
-
40
- // src/errors/BadRequestError.ts
41
- var BadRequestError = class extends HttpError {
42
- constructor({ status = 400 /* BadRequest */, message = "Bad Request" } = {}) {
43
- super({ status, message });
44
- }
45
- };
46
-
47
- // src/errors/ForbiddenError.ts
48
- var ForbiddenError = class extends HttpError {
49
- constructor({ status = 403 /* Forbidden */, message = "Forbidden" } = {}) {
50
- super({ status, message });
51
- }
52
- };
53
-
54
- // src/errors/InternalServerError.ts
55
- var InternalServerError = class extends HttpError {
56
- constructor({ status = 500 /* InternalServerError */, message = "Internal Server Error" } = {}) {
57
- super({ status, message });
58
- }
59
- };
60
-
61
- // src/errors/NotFoundError.ts
62
- var NotFoundError = class extends HttpError {
63
- constructor({ status = 404 /* NotFound */, message = "Not Found" } = {}) {
64
- super({ status, message });
65
- }
66
- };
67
-
68
- // src/errors/UnauthorizedError.ts
69
- var UnauthorizedError = class extends HttpError {
70
- constructor({ status = 401 /* Unauthorized */, message = "Unauthorized" } = {}) {
71
- super({ status, message });
72
- }
73
- };
17
+ __reExport(errors_exports, require("./BadRequestError"), module.exports);
18
+ __reExport(errors_exports, require("./ForbiddenError"), module.exports);
19
+ __reExport(errors_exports, require("./HttpError"), module.exports);
20
+ __reExport(errors_exports, require("./InternalServerError"), module.exports);
21
+ __reExport(errors_exports, require("./NotFoundError"), module.exports);
22
+ __reExport(errors_exports, require("./UnauthorizedError"), module.exports);
74
23
  // Annotate the CommonJS export names for ESM import in node:
75
24
  0 && (module.exports = {
76
- BadRequestError,
77
- ForbiddenError,
78
- HttpError,
79
- InternalServerError,
80
- NotFoundError,
81
- UnauthorizedError
25
+ ...require("./BadRequestError"),
26
+ ...require("./ForbiddenError"),
27
+ ...require("./HttpError"),
28
+ ...require("./InternalServerError"),
29
+ ...require("./NotFoundError"),
30
+ ...require("./UnauthorizedError")
82
31
  });
83
32
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/errors/index.ts", "../../../src/errors/HttpError.ts", "../../../src/errors/BadRequestError.ts", "../../../src/errors/ForbiddenError.ts", "../../../src/errors/InternalServerError.ts", "../../../src/errors/NotFoundError.ts", "../../../src/errors/UnauthorizedError.ts"],
4
- "sourcesContent": ["export * from './BadRequestError';\nexport * from './ForbiddenError';\nexport * from './HttpError';\nexport * from './InternalServerError';\nexport * from './NotFoundError';\nexport * from './UnauthorizedError';\n", "\nexport class HttpError {\n name: string = 'Error'\n message: string;\n stack?: string\n data?: any;\n public status: number;\n\n constructor({status, message = 'HttpError'}: { status: number, message?: string }) {\n // super(message);\n this.message = message;\n this.status = status;\n }\n}\n", "import {HttpError} from './HttpError';\nimport {HttpStatus} from '../codes/HttpStatus';\n\nexport class BadRequestError extends HttpError {\n constructor({status = HttpStatus.BadRequest, message = 'Bad Request'}: {status?: number, message?: string} = {}) {\n super({status, message});\n }\n}\n", "import {HttpError} from './HttpError';\nimport {HttpStatus} from '../codes/HttpStatus';\n\nexport class ForbiddenError extends HttpError {\n constructor({status = HttpStatus.Forbidden, message = 'Forbidden'}: {status?: number, message?: string} = {}) {\n super({status, message});\n }\n}\n", "import {HttpError} from './HttpError';\nimport {HttpStatus} from '../codes/HttpStatus';\n\nexport class InternalServerError extends HttpError {\n constructor({status = HttpStatus.InternalServerError, message = 'Internal Server Error'}: {status?: number, message?: string} = {}) {\n super({status, message});\n }\n}\n", "import {HttpError} from './HttpError';\nimport {HttpStatus} from '../codes/HttpStatus';\n\nexport class NotFoundError extends HttpError {\n constructor({status = HttpStatus.NotFound, message = 'Not Found'}: {status?: number, message?: string} = {}) {\n super({status, message});\n }\n}\n", "import {HttpError} from './HttpError';\nimport {HttpStatus} from '../codes/HttpStatus';\n\nexport class UnauthorizedError extends HttpError {\n constructor({status = HttpStatus.Unauthorized, message = 'Unauthorized'}: {status?: number, message?: string} = {}) {\n super({status, message});\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCO,IAAM,YAAN,MAAgB;AAAA,EAOnB,YAAY,EAAC,QAAQ,UAAU,YAAW,GAAyC;AANnF,gBAAe;AAQX,SAAK,UAAU;AACf,SAAK,SAAS;AAAA,EAClB;AACJ;;;ACVO,IAAM,kBAAN,cAA8B,UAAU;AAAA,EAC3C,YAAY,EAAC,+BAAgC,UAAU,cAAa,IAAyC,CAAC,GAAG;AAC7G,UAAM,EAAC,QAAQ,QAAO,CAAC;AAAA,EAC3B;AACJ;;;ACJO,IAAM,iBAAN,cAA6B,UAAU;AAAA,EAC1C,YAAY,EAAC,8BAA+B,UAAU,YAAW,IAAyC,CAAC,GAAG;AAC1G,UAAM,EAAC,QAAQ,QAAO,CAAC;AAAA,EAC3B;AACJ;;;ACJO,IAAM,sBAAN,cAAkC,UAAU;AAAA,EAC/C,YAAY,EAAC,wCAAyC,UAAU,wBAAuB,IAAyC,CAAC,GAAG;AAChI,UAAM,EAAC,QAAQ,QAAO,CAAC;AAAA,EAC3B;AACJ;;;ACJO,IAAM,gBAAN,cAA4B,UAAU;AAAA,EACzC,YAAY,EAAC,6BAA8B,UAAU,YAAW,IAAyC,CAAC,GAAG;AACzG,UAAM,EAAC,QAAQ,QAAO,CAAC;AAAA,EAC3B;AACJ;;;ACJO,IAAM,oBAAN,cAAgC,UAAU;AAAA,EAC7C,YAAY,EAAC,iCAAkC,UAAU,eAAc,IAAyC,CAAC,GAAG;AAChH,UAAM,EAAC,QAAQ,QAAO,CAAC;AAAA,EAC3B;AACJ;",
3
+ "sources": ["../../../src/errors/index.ts"],
4
+ "sourcesContent": ["export * from './BadRequestError';\nexport * from './ForbiddenError';\nexport * from './HttpError';\nexport * from './InternalServerError';\nexport * from './NotFoundError';\nexport * from './UnauthorizedError';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,8BAAd;AACA,2BAAc,6BADd;AAEA,2BAAc,wBAFd;AAGA,2BAAc,kCAHd;AAIA,2BAAc,4BAJd;AAKA,2BAAc,gCALd;",
6
6
  "names": []
7
7
  }
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/filters/CacheFilter.ts
20
18
  var CacheFilter_exports = {};
21
19
  __export(CacheFilter_exports, {
22
20
  CacheFilter: () => CacheFilter
@@ -25,17 +23,16 @@ module.exports = __toCommonJS(CacheFilter_exports);
25
23
  var import_FileUtils = require("@dooboostore/core-node/file/FileUtils");
26
24
  var import_ConvertUtils = require("@dooboostore/core-node/convert/ConvertUtils");
27
25
  var import_RandomUtils = require("@dooboostore/core/random/RandomUtils");
28
- var CacheFilter = class _CacheFilter {
26
+ class CacheFilter {
29
27
  constructor(config) {
30
28
  this.config = config;
31
- this.storage = /* @__PURE__ */ new Map();
32
29
  if (config.config.cacheDir && config.config.startUpClean) {
33
30
  import_FileUtils.FileUtils.deleteSync(config.config.cacheDir, { options: { recursive: true } });
34
31
  }
35
32
  }
36
- static {
37
- this.CARRIER_KEY_NAME = "_CARRIER_CACHE_FILTER_KEY_NAME";
38
- }
33
+ static CARRIER_KEY_NAME = "_CARRIER_CACHE_FILTER_KEY_NAME";
34
+ storage = /* @__PURE__ */ new Map();
35
+ cacheConfig;
39
36
  async onInit(app) {
40
37
  }
41
38
  async proceedBefore({ rr, app, carrier }) {
@@ -87,21 +84,21 @@ var CacheFilter = class _CacheFilter {
87
84
  } else {
88
85
  sessionData.isUpdate = true;
89
86
  }
90
- carrier.set(_CacheFilter.CARRIER_KEY_NAME, sessionData);
87
+ carrier.set(CacheFilter.CARRIER_KEY_NAME, sessionData);
91
88
  return sessionData.isUpdate;
92
89
  }
93
- deleteChunk(path) {
94
- if (this.config.config.cacheDir && import_FileUtils.FileUtils.existsSync(path)) {
95
- import_FileUtils.FileUtils.deleteFileSync(path);
96
- } else if (this.storage.has(path)) {
97
- this.storage.delete(path);
90
+ deleteChunk(path2) {
91
+ if (this.config.config.cacheDir && import_FileUtils.FileUtils.existsSync(path2)) {
92
+ import_FileUtils.FileUtils.deleteFileSync(path2);
93
+ } else if (this.storage.has(path2)) {
94
+ this.storage.delete(path2);
98
95
  }
99
96
  }
100
- getChunk(path) {
101
- return this.config.config.cacheDir ? import_FileUtils.FileUtils.readSync(path) : this.storage.get(path);
97
+ getChunk(path2) {
98
+ return this.config.config.cacheDir ? import_FileUtils.FileUtils.readSync(path2) : this.storage.get(path2);
102
99
  }
103
100
  async proceedAfter({ rr, app, carrier }) {
104
- const sessionData = carrier.get(_CacheFilter.CARRIER_KEY_NAME);
101
+ const sessionData = carrier.get(CacheFilter.CARRIER_KEY_NAME);
105
102
  if (sessionData && sessionData.isUpdate) {
106
103
  try {
107
104
  if (this.config.config.cacheDir) {
@@ -145,7 +142,7 @@ var CacheFilter = class _CacheFilter {
145
142
  return destFileUUID;
146
143
  }
147
144
  }
148
- };
145
+ }
149
146
  // Annotate the CommonJS export names for ESM import in node:
150
147
  0 && (module.exports = {
151
148
  CacheFilter
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/filters/CacheFilter.ts"],
4
4
  "sourcesContent": ["import { Filter } from '../filters/Filter';\nimport { HttpStatus } from '../codes/HttpStatus';\nimport { RequestResponse } from '../models/RequestResponse';\nimport { SimpleBootHttpServer } from '../SimpleBootHttpServer';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { FileUtils } from '@dooboostore/core-node/file/FileUtils';\nimport { ConvertUtils } from '@dooboostore/core-node/convert/ConvertUtils';\nimport { RandomUtils } from '@dooboostore/core/random/RandomUtils';\n\nexport type CacheFilterSessionType = { key: string, lifeTime: number, isUpdate: boolean, responseHeaders?: string[] };\n\ntype CacheConfigCacheItemType = { path: string, createTime: number, lifeTime: number, responseHeader: { [key: string]: string | number | string[] } };\n\ntype KeyAndConfig = { key: string, lifeTime?: number, responseHeaders?: string[] } ;\n\nexport class CacheFilter implements Filter {\n public static readonly CARRIER_KEY_NAME = '_CARRIER_CACHE_FILTER_KEY_NAME';\n private storage = new Map<string, string | Buffer>();\n private cacheConfig: {\n createDate: string;\n updateDate: string;\n caches: { [key: string]: CacheConfigCacheItemType }\n }\n\n constructor(private config: {\n config: {\n cacheDir?: string;\n lifeTime: number;\n startUpClean?: boolean;\n },\n filter?: (rr: RequestResponse, app: SimpleBootHttpServer) => boolean;\n key: (rr: RequestResponse, app: SimpleBootHttpServer) => KeyAndConfig;\n }) {\n\n if (config.config.cacheDir && config.config.startUpClean) {\n FileUtils.deleteSync(config.config.cacheDir, {options: {recursive: true}});\n }\n }\n\n async onInit(app: SimpleBootHttpServer) {\n }\n\n async proceedBefore({rr, app, carrier}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n // this.key = undefined;\n // this.lifeTime = undefined;\n // this.isUpdate = false;\n const filter = this.config.filter?.(rr,app);\n if (!filter) {\n return true;\n }\n if (this.config.config.cacheDir) {\n FileUtils.mkdirSync(this.config.config.cacheDir, {recursive: true});\n }\n if (!this.cacheConfig && this.config.config.cacheDir) {\n try {\n this.cacheConfig = JSON.parse(ConvertUtils.toString(FileUtils.readSync([this.config.config.cacheDir, 'cacheConfig.json'], { option: {encoding: 'utf-8'}})));\n } catch (e) {\n }\n }\n const date = new Date().toISOString();\n this.cacheConfig ??= {\n createDate: date,\n updateDate: date,\n // accessDate: date,\n caches: {}\n };\n this.cacheConfig.createDate ??= date;\n this.cacheConfig.updateDate ??= date;\n // this.cacheConfig.accessDate ??= date;\n this.cacheConfig.caches ??= {};\n\n\n const rkey = this.config.key(rr, app);\n // console.log('--path filter', rr.reqMethod(), rr.reqUrlPathName, filter, rkey)\n const sessionData: CacheFilterSessionType = {key: rkey.key, lifeTime: rkey.lifeTime ?? this.config.config.lifeTime, isUpdate: false, responseHeaders: rkey.responseHeaders};\n\n\n const cache = this.cacheConfig.caches[sessionData.key];\n if (cache) {\n const existes = this.config.config.cacheDir ? FileUtils.existsSync(cache.path) : this.storage.has(cache.path);\n const diffTime = Date.now() - cache.createTime;\n if (!existes || diffTime > cache.lifeTime) {\n delete this.cacheConfig[sessionData.key];\n this.deleteChunk(cache.path);\n sessionData.isUpdate = true;\n } else {\n rr.resSetHeaders({\n ...cache.responseHeader,\n cacheFilter: `true;remainTime=${cache.lifeTime - diffTime}`\n });\n // console.log('chunk--->', cache.path);\n try {\n const chunk = this.getChunk(cache.path);\n // console.log('chunk--->', chunk);\n await rr.resEnd(chunk);\n } catch (e) {\n console.log('--------e', e)\n }\n }\n } else {\n sessionData.isUpdate = true;\n }\n carrier.set(CacheFilter.CARRIER_KEY_NAME, sessionData);\n return sessionData.isUpdate;\n }\n\n private deleteChunk(path: string) {\n if (this.config.config.cacheDir && FileUtils.existsSync(path)) {\n FileUtils.deleteFileSync(path);\n } else if (this.storage.has(path)) {\n this.storage.delete(path);\n }\n }\n\n private getChunk(path: string) {\n return this.config.config.cacheDir ? FileUtils.readSync(path) : this.storage.get(path);\n }\n\n async proceedAfter({rr, app, carrier}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n // const data = await rr.resBodyStringData()\n const sessionData = carrier.get(CacheFilter.CARRIER_KEY_NAME) as CacheFilterSessionType ;\n if (sessionData && sessionData.isUpdate) {\n try {\n if (this.config.config.cacheDir) {\n FileUtils.mkdirSync([this.config.config.cacheDir, 'caches'], {recursive: true});\n }\n const resBody = rr.resBodyData();\n if (!resBody) {\n return true;\n }\n let p: string | undefined = undefined;\n const destFileUUID = RandomUtils.uuid4();\n p = this.writeChunk(destFileUUID, resBody);\n const updateDateNow = Date.now();\n const updateDate = new Date(updateDateNow).toISOString();\n this.cacheConfig.createDate ??= updateDate;\n this.cacheConfig.updateDate = updateDate;\n const responseHeaders: {[key: string]: string | number | string[]} = {}\n sessionData.responseHeaders?.map(it=>it.toLowerCase()).forEach(it => {\n responseHeaders[it] = rr.resHeader(it);\n })\n this.cacheConfig.caches[sessionData.key] = {\n path: p,\n createTime: updateDateNow,\n lifeTime: sessionData.lifeTime,\n responseHeader: responseHeaders\n };\n\n if (this.config.config.cacheDir) {\n FileUtils.write(JSON.stringify(this.cacheConfig), {path: [this.config.config.cacheDir, 'cacheConfig.json']});\n }\n } catch (e) {\n console.log('---', e)\n }\n }\n\n return true;\n }\n\n private writeChunk(destFileUUID: string, resBody: string | Buffer ) {\n if (this.config.config.cacheDir) {\n return FileUtils.write(resBody, {path: [this.config.config.cacheDir, 'caches', destFileUUID]});\n } else {\n this.storage.set(destFileUUID, resBody);\n return destFileUUID;\n }\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,uBAA2B;AAC3B,0BAA6B;AAC7B,yBAA4B;AAQrB,MAAM,YAA8B;AAAA,EASzC,YAAoB,QAQjB;AARiB;AAUlB,QAAI,OAAO,OAAO,YAAY,OAAO,OAAO,cAAc;AACxD,iCAAU,WAAW,OAAO,OAAO,UAAU,EAAC,SAAS,EAAC,WAAW,KAAI,EAAC,CAAC;AAAA,IAC3E;AAAA,EACF;AAAA,EArBA,OAAuB,mBAAmB;AAAA,EAClC,UAAU,oBAAI,IAA6B;AAAA,EAC3C;AAAA,EAqBR,MAAM,OAAO,KAA2B;AAAA,EACxC;AAAA,EAEA,MAAM,cAAc,EAAC,IAAI,KAAK,QAAO,GAAgF;AAInH,UAAM,SAAS,KAAK,OAAO,SAAS,IAAG,GAAG;AAC1C,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA,IACT;AACA,QAAI,KAAK,OAAO,OAAO,UAAU;AAC/B,iCAAU,UAAU,KAAK,OAAO,OAAO,UAAU,EAAC,WAAW,KAAI,CAAC;AAAA,IACpE;AACA,QAAI,CAAC,KAAK,eAAe,KAAK,OAAO,OAAO,UAAU;AACpD,UAAI;AACF,aAAK,cAAc,KAAK,MAAM,iCAAa,SAAS,2BAAU,SAAS,CAAC,KAAK,OAAO,OAAO,UAAU,kBAAkB,GAAG,EAAE,QAAQ,EAAC,UAAU,QAAO,EAAC,CAAC,CAAC,CAAC;AAAA,MAC5J,SAAS,GAAG;AAAA,MACZ;AAAA,IACF;AACA,UAAM,QAAO,oBAAI,KAAK,GAAE,YAAY;AACpC,SAAK,gBAAgB;AAAA,MACnB,YAAY;AAAA,MACZ,YAAY;AAAA;AAAA,MAEZ,QAAQ,CAAC;AAAA,IACX;AACA,SAAK,YAAY,eAAe;AAChC,SAAK,YAAY,eAAe;AAEhC,SAAK,YAAY,WAAW,CAAC;AAG7B,UAAM,OAAO,KAAK,OAAO,IAAI,IAAI,GAAG;AAEpC,UAAM,cAAsC,EAAC,KAAK,KAAK,KAAK,UAAU,KAAK,YAAY,KAAK,OAAO,OAAO,UAAU,UAAU,OAAO,iBAAiB,KAAK,gBAAe;AAG1K,UAAM,QAAQ,KAAK,YAAY,OAAO,YAAY,GAAG;AACrD,QAAI,OAAO;AACT,YAAM,UAAU,KAAK,OAAO,OAAO,WAAW,2BAAU,WAAW,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI;AAC5G,YAAM,WAAW,KAAK,IAAI,IAAI,MAAM;AACpC,UAAI,CAAC,WAAW,WAAW,MAAM,UAAU;AACzC,eAAO,KAAK,YAAY,YAAY,GAAG;AACvC,aAAK,YAAY,MAAM,IAAI;AAC3B,oBAAY,WAAW;AAAA,MACzB,OAAO;AACL,WAAG,cAAc;AAAA,UACf,GAAG,MAAM;AAAA,UACT,aAAa,mBAAmB,MAAM,WAAW,QAAQ;AAAA,QAC3D,CAAC;AAED,YAAI;AACF,gBAAM,QAAQ,KAAK,SAAS,MAAM,IAAI;AAExC,gBAAM,GAAG,OAAO,KAAK;AAAA,QACrB,SAAS,GAAG;AACV,kBAAQ,IAAI,aAAa,CAAC;AAAA,QAC5B;AAAA,MACF;AAAA,IACF,OAAO;AACL,kBAAY,WAAW;AAAA,IACzB;AACA,YAAQ,IAAI,YAAY,kBAAkB,WAAW;AACrD,WAAO,YAAY;AAAA,EACrB;AAAA,EAEQ,YAAYA,OAAc;AAChC,QAAI,KAAK,OAAO,OAAO,YAAY,2BAAU,WAAWA,KAAI,GAAG;AAC7D,iCAAU,eAAeA,KAAI;AAAA,IAC/B,WAAW,KAAK,QAAQ,IAAIA,KAAI,GAAG;AACjC,WAAK,QAAQ,OAAOA,KAAI;AAAA,IAC1B;AAAA,EACF;AAAA,EAEQ,SAASA,OAAc;AAC7B,WAAO,KAAK,OAAO,OAAO,WAAW,2BAAU,SAASA,KAAI,IAAI,KAAK,QAAQ,IAAIA,KAAI;AAAA,EACvF;AAAA,EAEA,MAAM,aAAa,EAAC,IAAI,KAAK,QAAO,GAAgF;AAElH,UAAM,cAAc,QAAQ,IAAI,YAAY,gBAAgB;AAC5D,QAAI,eAAe,YAAY,UAAU;AACvC,UAAI;AACF,YAAI,KAAK,OAAO,OAAO,UAAU;AAC/B,qCAAU,UAAU,CAAC,KAAK,OAAO,OAAO,UAAU,QAAQ,GAAG,EAAC,WAAW,KAAI,CAAC;AAAA,QAChF;AACA,cAAM,UAAU,GAAG,YAAY;AAC/B,YAAI,CAAC,SAAS;AACZ,iBAAO;AAAA,QACT;AACA,YAAK,IAAwB;AAC7B,cAAM,eAAe,+BAAY,MAAM;AACvC,YAAI,KAAK,WAAW,cAAc,OAAO;AACzC,cAAM,gBAAgB,KAAK,IAAI;AAC/B,cAAM,aAAa,IAAI,KAAK,aAAa,EAAE,YAAY;AACvD,aAAK,YAAY,eAAe;AAChC,aAAK,YAAY,aAAa;AAC9B,cAAM,kBAA+D,CAAC;AACtE,oBAAY,iBAAiB,IAAI,QAAI,GAAG,YAAY,CAAC,EAAE,QAAQ,QAAM;AACnE,0BAAgB,EAAE,IAAI,GAAG,UAAU,EAAE;AAAA,QACvC,CAAC;AACD,aAAK,YAAY,OAAO,YAAY,GAAG,IAAI;AAAA,UACzC,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,UAAU,YAAY;AAAA,UACtB,gBAAgB;AAAA,QAClB;AAEA,YAAI,KAAK,OAAO,OAAO,UAAU;AAC/B,qCAAU,MAAM,KAAK,UAAU,KAAK,WAAW,GAAG,EAAC,MAAM,CAAC,KAAK,OAAO,OAAO,UAAU,kBAAkB,EAAC,CAAC;AAAA,QAC7G;AAAA,MACF,SAAS,GAAG;AACV,gBAAQ,IAAI,OAAO,CAAC;AAAA,MACtB;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEQ,WAAW,cAAsB,SAA2B;AAClE,QAAI,KAAK,OAAO,OAAO,UAAU;AAC/B,aAAO,2BAAU,MAAM,SAAS,EAAC,MAAM,CAAC,KAAK,OAAO,OAAO,UAAU,UAAU,YAAY,EAAC,CAAC;AAAA,IAC/F,OAAO;AACL,WAAK,QAAQ,IAAI,cAAc,OAAO;AACtC,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
+ "names": ["path"]
7
7
  }
@@ -11,8 +11,6 @@ var __copyProps = (to, from, except, desc) => {
11
11
  return to;
12
12
  };
13
13
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
-
15
- // src/filters/Filter.ts
16
14
  var Filter_exports = {};
17
15
  module.exports = __toCommonJS(Filter_exports);
18
16
  //# sourceMappingURL=Filter.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/filters/Filter.ts"],
4
4
  "sourcesContent": ["import { SimpleBootHttpServer } from '../SimpleBootHttpServer';\nimport {RequestResponse} from '../models/RequestResponse';\nimport {OnInit} from '../lifecycle/OnInit';\n\nexport interface Filter extends OnInit {\n // false \uB4A4\uB85C\uB294 \uC548\uD750\uB974\uAC8C \uD574\uC8FC\uC138\uC694\n // true \uB098\uB97C \uC2A4\uD0B5\uC2A4\uCF1C\uC8FC\uC0C8\uC694 (\uB0B4\uB4A4\uB85C \uD750\uB974\uAC8C\uD574\uC8FC\uC138\uC694)\n proceedBefore(data: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}): Promise<boolean>;\n proceedAfter(data: {rr: RequestResponse, app: SimpleBootHttpServer, before: boolean, carrier: Map<string, any>}): Promise<boolean>;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;",
5
+ "mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -15,14 +15,12 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/filters/HttpStatusFilter.ts
20
18
  var HttpStatusFilter_exports = {};
21
19
  __export(HttpStatusFilter_exports, {
22
20
  HttpStatusFilter: () => HttpStatusFilter
23
21
  });
24
22
  module.exports = __toCommonJS(HttpStatusFilter_exports);
25
- var HttpStatusFilter = class {
23
+ class HttpStatusFilter {
26
24
  constructor(httpStatus) {
27
25
  this.httpStatus = httpStatus;
28
26
  }
@@ -36,7 +34,7 @@ var HttpStatusFilter = class {
36
34
  }
37
35
  async onInit(app) {
38
36
  }
39
- };
37
+ }
40
38
  // Annotate the CommonJS export names for ESM import in node:
41
39
  0 && (module.exports = {
42
40
  HttpStatusFilter
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/filters/HttpStatusFilter.ts"],
4
4
  "sourcesContent": ["import {Filter} from '../filters/Filter';\nimport {HttpStatus} from '../codes/HttpStatus';\nimport {RequestResponse} from '../models/RequestResponse';\nimport {SimpleBootHttpServer} from '../SimpleBootHttpServer';\n\nexport class HttpStatusFilter implements Filter {\n\n constructor(private httpStatus: HttpStatus | number) {\n }\n\n async proceedBefore({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n // res.writeHead(this.httpStatus);\n rr.resStatusCode(this.httpStatus);\n rr.resEnd();\n return false;\n }\n\n async proceedAfter({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n return true;\n }\n\n async onInit(app: SimpleBootHttpServer){\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,IAAM,mBAAN,MAAyC;AAAA,EAE5C,YAAoB,YAAiC;AAAjC;AAAA,EACpB;AAAA,EAEA,MAAM,cAAc,EAAC,IAAI,IAAG,GAAgF;AAExG,OAAG,cAAc,KAAK,UAAU;AAChC,OAAG,OAAO;AACV,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,aAAa,EAAC,IAAI,IAAG,GAAgF;AACvG,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,OAAO,KAA0B;AAAA,EACvC;AACJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,MAAM,iBAAmC;AAAA,EAE5C,YAAoB,YAAiC;AAAjC;AAAA,EACpB;AAAA,EAEA,MAAM,cAAc,EAAC,IAAI,IAAG,GAAgF;AAExG,OAAG,cAAc,KAAK,UAAU;AAChC,OAAG,OAAO;AACV,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,aAAa,EAAC,IAAI,IAAG,GAAgF;AACvG,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,OAAO,KAA0B;AAAA,EACvC;AACJ;",
6
6
  "names": []
7
7
  }
@@ -15,38 +15,26 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/filters/OpenApi3Filter.ts
20
18
  var OpenApi3Filter_exports = {};
21
19
  __export(OpenApi3Filter_exports, {
22
20
  OpenApi3Filter: () => OpenApi3Filter
23
21
  });
24
22
  module.exports = __toCommonJS(OpenApi3Filter_exports);
25
-
26
- // src/decorators/MethodMapping.ts
27
- var import_reflect_metadata = require("reflect-metadata");
28
- var import_ReflectUtils = require("@dooboostore/core/reflect/ReflectUtils");
29
- var MappingMetadataKey = Symbol("MappingMetadataKey");
30
- var getUrlMappings = (target) => {
31
- if (target !== null && void 0 !== target && typeof target === "object") {
32
- target = target.constructor;
33
- }
34
- return import_ReflectUtils.ReflectUtils.getMetadata(MappingMetadataKey, target);
35
- };
36
-
37
- // src/filters/OpenApi3Filter.ts
38
- var DefulatData = {
23
+ var import_HttpStatus = require("../codes/HttpStatus");
24
+ var import_MethodMapping = require("../decorators/MethodMapping");
25
+ const DefulatData = {
39
26
  openapi: "3.0.1",
40
27
  info: {
41
28
  title: "SimpleBootHttpServer OpenApi3",
42
29
  description: "SimpleBootHttpServer OpenApi3"
43
30
  }
44
31
  };
45
- var OpenApi3Filter = class {
32
+ class OpenApi3Filter {
46
33
  constructor(config, openApiConfig) {
47
34
  this.config = config;
48
35
  this.openApiConfig = Object.assign(Object.assign({}, DefulatData), openApiConfig ?? {});
49
36
  }
37
+ openApiConfig;
50
38
  async onInit(app) {
51
39
  }
52
40
  async proceedBefore({ rr, app }) {
@@ -57,7 +45,7 @@ var OpenApi3Filter = class {
57
45
  };
58
46
  Object.entries(map).filter(([k, v]) => typeof v !== "string").forEach(([k, v]) => {
59
47
  const method = data.paths[k] = {};
60
- getUrlMappings(v)?.forEach((it) => {
48
+ (0, import_MethodMapping.getUrlMappings)(v)?.forEach((it) => {
61
49
  method[it.config.method] = {
62
50
  summary: it.propertyKey,
63
51
  description: it.propertyKey
@@ -67,7 +55,7 @@ var OpenApi3Filter = class {
67
55
  };
68
56
  });
69
57
  });
70
- rr.resWriteJson(Object.assign(Object.assign({}, this.openApiConfig), data)).resStatusCode(200 /* Ok */).resEnd();
58
+ rr.resWriteJson(Object.assign(Object.assign({}, this.openApiConfig), data)).resStatusCode(import_HttpStatus.HttpStatus.Ok).resEnd();
71
59
  return false;
72
60
  }
73
61
  return true;
@@ -75,7 +63,7 @@ var OpenApi3Filter = class {
75
63
  async proceedAfter({ rr, app }) {
76
64
  return true;
77
65
  }
78
- };
66
+ }
79
67
  // Annotate the CommonJS export names for ESM import in node:
80
68
  0 && (module.exports = {
81
69
  OpenApi3Filter
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/filters/OpenApi3Filter.ts", "../../../src/decorators/MethodMapping.ts"],
4
- "sourcesContent": ["import {Filter} from './Filter';\nimport {HttpStatus} from '../codes/HttpStatus';\nimport {SimpleBootHttpServer} from '../SimpleBootHttpServer';\nimport {RequestResponse} from '../models/RequestResponse';\nimport {getUrlMappings} from '../decorators/MethodMapping';\n\ntype MethodType = {\n summary?: string;\n description?: string;\n operationId?: string;\n parameters?: {\n name: string;\n in: string;\n required: boolean;\n schema: {\n type: string;\n format?: string;\n items?: {\n type: string;\n format?: string;\n }\n }\n }[];\n responses: {\n [code: string]: {\n description: string;\n content?: {\n [type: string]: {\n schema: {\n type: string;\n format?: string;\n items?: {\n type: string;\n format?: string;\n }\n }\n }\n }\n }\n }\n};\ntype PathType = {\n [method: string]: MethodType\n};\ntype PathsType = {\n [path: string]: PathType\n};\nexport type OpenApiType = {\n openapi: string;\n info?: {\n title?: string;\n description?: string;\n contact?: {\n name?: string;\n email?: string;\n }\n }\n servers?: { url: string }[],\n paths?: PathsType\n components?: {\n schemas?: {\n [key: string]: {\n type: string;\n required?: string[];\n properties?: {\n [key: string]: {\n type: string;\n format?: string;\n items?: {\n type: string;\n format?: string;\n }\n }\n }\n }\n }\n securitySchemes?: {\n [key: string]: {\n type: string;\n description?: string;\n in?: string;\n name?: string;\n scheme?: string;\n bearerFormat?: string;\n flows?: {\n [key: string]: {\n authorizationUrl?: string;\n tokenUrl?: string;\n refreshUrl?: string;\n scopes?: {\n [key: string]: {\n description?: string;\n }\n }\n }\n }\n }\n }\n }\n}\nexport type OpenApi3FilterConfig = {\n info?: {\n title?: string;\n description?: string;\n contact?: {\n name?: string;\n email?: string;\n }\n }\n servers?: { url: string }[],\n}\nconst DefulatData: OpenApiType = {\n openapi: '3.0.1',\n info: {\n title: 'SimpleBootHttpServer OpenApi3',\n description: 'SimpleBootHttpServer OpenApi3',\n }\n}\n\nexport class OpenApi3Filter implements Filter {\n private openApiConfig: any;\n\n constructor(public config: { path: string, excludePath?: { method: string, path: string }[] }, openApiConfig?: OpenApi3FilterConfig) {\n this.openApiConfig = Object.assign(Object.assign({}, DefulatData), openApiConfig ?? {})\n }\n async onInit(app: SimpleBootHttpServer){\n }\n async proceedBefore({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n if (rr.reqUrl === this.config.path) {\n const map = app.routerManager.routingMap();\n // let routers = app.simstanceManager.getSimAtomics().filter((it: SimAtomic) => it.getConfig(RouterMetadataKey));\n const data = {\n paths: {} as PathsType\n } as OpenApiType;\n\n Object.entries(map).filter(([k, v]) => typeof v !== 'string').forEach(([k, v]) => {\n const method = data.paths![k] = {} as PathType;\n getUrlMappings(v)?.forEach(it => {\n method[it.config.method] = {\n summary: it.propertyKey,\n description: it.propertyKey\n // operationId: it.operationId,\n // parameters: it.parameters,\n // responses: it.responses,\n } as MethodType\n });\n })\n\n rr.resWriteJson(Object.assign(Object.assign({}, this.openApiConfig), data)).resStatusCode(HttpStatus.Ok).resEnd();\n return false;\n }\n return true;\n }\n\n async proceedAfter({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n return true;\n }\n}\n", "import 'reflect-metadata';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { ReflectMethod } from '@dooboostore/simple-boot/types/Types';\nimport { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\nimport { Resolver } from '../resolvers/Resolver';\nimport { Mimes } from '../codes/Mimes';\nimport { HttpMethod } from '../codes/HttpMethod';\n\nexport enum UrlMappingSituationType {\n REQ_JSON_BODY = 'SIMPLE_BOOT_HTTP_SERVER://URLMAPPING/REQ_JSON_BODY',\n REQ_FORM_URL_BODY = 'SIMPLE_BOOT_HTTP_SERVER://URLMAPPING/REQ_FORM_URL_BODY'\n}\nexport type MappingConfig = {\n method: HttpMethod | string,\n description?: {\n name?: string;\n detail?: string;\n };\n\n req?: {\n contentType?: (Mimes|string)[];\n accept?: (Mimes|string)[];\n };\n\n res?: {\n status?: number;\n header?: {[key: string]: string};\n contentType?: Mimes | string;\n }\n resolver?: Resolver|ConstructorType<Resolver>;\n}\nexport type SaveMappingConfig = {propertyKey: string | symbol; config: MappingConfig}\nconst MappingMetadataKey = Symbol('MappingMetadataKey');\n// const GETSMappingMetadataKey = Symbol('GET_METHODS');\n// const GETMappingMetadataKey = Symbol('GET_METHOD');\n\nconst process = (config: MappingConfig, target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const saveMappingConfigs = (ReflectUtils.getMetadata(MappingMetadataKey, target.constructor) ?? []) as SaveMappingConfig[];\n saveMappingConfigs.push({propertyKey, config});\n ReflectUtils.defineMetadata(MappingMetadataKey, saveMappingConfigs, target.constructor);\n ReflectUtils.defineMetadata(MappingMetadataKey, config, target, propertyKey);\n}\nexport function UrlMapping(config: MappingConfig): ReflectMethod;\nexport function UrlMapping(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function UrlMapping(configOrtarget?: MappingConfig | any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): ReflectMethod | void {\n if (propertyKey && descriptor) {\n process({method: HttpMethod.GET}, configOrtarget, propertyKey, descriptor);\n } else {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n process(configOrtarget, target, propertyKey, descriptor);\n }\n }\n}\nexport const getUrlMapping = (target: any, propertyKey: string | symbol): MappingConfig | undefined => {\n return ReflectUtils.getMetadata(MappingMetadataKey, target, propertyKey);\n}\n\nexport const getUrlMappings = (target: any): SaveMappingConfig[] => {\n if (target !== null && undefined !== target && typeof target === 'object') {\n target = target.constructor;\n }\n return ReflectUtils.getMetadata(MappingMetadataKey, target);\n}\nexport function GET(config: Omit<MappingConfig, 'method'>): ReflectMethod;\nexport function GET(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function GET(configOrTarget?: Omit<MappingConfig, 'method'> | any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): ReflectMethod | void {\n if (propertyKey && descriptor) {\n process({method: HttpMethod.GET}, configOrTarget, propertyKey, descriptor);\n } else {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n configOrTarget.method = HttpMethod.GET;\n process(configOrTarget, target, propertyKey, descriptor);\n }\n }\n}\n\nexport const getGET = (target: any, propertyKey: string | symbol): MappingConfig | undefined => {\n return getUrlMapping(target, propertyKey);\n}\nexport const getGETS = (target: any): SaveMappingConfig[] => {\n return getUrlMappings(target)?.filter(it => it.config?.method.toUpperCase() === HttpMethod.GET);\n}\nexport function POST(config: Omit<MappingConfig, 'method'>): ReflectMethod;\nexport function POST(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function POST(configOrTarget?: Omit<MappingConfig, 'method'> | any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): ReflectMethod | void {\n if (propertyKey && descriptor) {\n process({method: HttpMethod.POST}, configOrTarget, propertyKey, descriptor);\n } else {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n configOrTarget.method = HttpMethod.POST;\n process(configOrTarget, target, propertyKey, descriptor);\n }\n }\n}\n\nexport const getPOST = (target: any, propertyKey: string | symbol): MappingConfig | undefined => {\n return getUrlMapping(target, propertyKey);\n}\nexport const getPOSTS = (target: any): SaveMappingConfig[] => {\n return getUrlMappings(target)?.filter(it => it.config?.method.toUpperCase() === HttpMethod.POST);\n}\nexport function DELETE(config: Omit<MappingConfig, 'method'>): ReflectMethod;\nexport function DELETE(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function DELETE(configOrTarget?: Omit<MappingConfig, 'method'> | any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): ReflectMethod | void {\n if (propertyKey && descriptor) {\n process({method: HttpMethod.DELETE}, configOrTarget, propertyKey, descriptor);\n } else {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n configOrTarget.method = HttpMethod.DELETE;\n process(configOrTarget, target, propertyKey, descriptor);\n }\n }\n}\n\nexport const getDELETE = (target: any, propertyKey: string | symbol): MappingConfig | undefined => {\n return getUrlMapping(target, propertyKey);\n}\nexport const getDELETES = (target: any): SaveMappingConfig[] => {\n return getUrlMappings(target)?.filter(it => it.config?.method.toUpperCase() === HttpMethod.DELETE);\n}\nexport function PUT(config: Omit<MappingConfig, 'method'>): ReflectMethod;\nexport function PUT(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function PUT(configOrTarget?: Omit<MappingConfig, 'method'> | any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): ReflectMethod | void {\n if (propertyKey && descriptor) {\n process({method: HttpMethod.PUT}, configOrTarget, propertyKey, descriptor);\n } else {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n configOrTarget.method = HttpMethod.PUT;\n process(configOrTarget, target, propertyKey, descriptor);\n }\n }\n}\n\nexport const getPUT = (target: any, propertyKey: string | symbol): MappingConfig | undefined => {\n return getUrlMapping(target, propertyKey);\n}\nexport const getPUTS = (target: any): SaveMappingConfig[] => {\n return getUrlMappings(target)?.filter(it => it.config?.method.toUpperCase() === HttpMethod.PUT);\n}\nexport function PATCH(config: Omit<MappingConfig, 'method'>): ReflectMethod;\nexport function PATCH(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function PATCH(configOrTarget?: Omit<MappingConfig, 'method'> | any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): ReflectMethod | void {\n if (propertyKey && descriptor) {\n process({method: HttpMethod.PATCH}, configOrTarget, propertyKey, descriptor);\n } else {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n configOrTarget.method = HttpMethod.PATCH;\n process(configOrTarget, target, propertyKey, descriptor);\n }\n }\n}\n\nexport const getPATCH = (target: any, propertyKey: string | symbol): MappingConfig | undefined => {\n return getUrlMapping(target, propertyKey);\n}\nexport const getPATCHS = (target: any): SaveMappingConfig[] => {\n return getUrlMappings(target)?.filter(it => it.config?.method.toUpperCase() === HttpMethod.GET);\n}\nexport function OPTIONS(config: Omit<MappingConfig, 'method'>): ReflectMethod;\nexport function OPTIONS(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function OPTIONS(configOrTarget?: Omit<MappingConfig, 'method'> | any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): ReflectMethod | void {\n if (propertyKey && descriptor) {\n process({method: HttpMethod.OPTIONS}, configOrTarget, propertyKey, descriptor);\n } else {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n configOrTarget.method = HttpMethod.OPTIONS;\n process(configOrTarget, target, propertyKey, descriptor);\n }\n }\n}\n\nexport const getOPTIONS = (target: any, propertyKey: string | symbol): MappingConfig | undefined => {\n return getUrlMapping(target, propertyKey);\n}\nexport const getOPTIONSS = (target: any): SaveMappingConfig[] => {\n return getUrlMappings(target)?.filter(it => it.config?.method.toUpperCase() === HttpMethod.OPTIONS);\n}\nexport function HEAD(config: Omit<MappingConfig, 'method'>): ReflectMethod;\nexport function HEAD(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function HEAD(configOrTarget?: Omit<MappingConfig, 'method'> | any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): ReflectMethod | void {\n if (propertyKey && descriptor) {\n process({method: HttpMethod.HEAD}, configOrTarget, propertyKey, descriptor);\n } else {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n configOrTarget.method = HttpMethod.HEAD;\n process(configOrTarget, target, propertyKey, descriptor);\n }\n }\n}\n\nexport const getHEAD = (target: any, propertyKey: string | symbol): MappingConfig | undefined => {\n return getUrlMapping(target, propertyKey);\n}\nexport const getHEADS = (target: any): SaveMappingConfig[] => {\n return getUrlMappings(target)?.filter(it => it.config?.method.toUpperCase() === HttpMethod.GET);\n}\nexport function TRACE(config: Omit<MappingConfig, 'method'>): ReflectMethod;\nexport function TRACE(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function TRACE(configOrTarget?: Omit<MappingConfig, 'method'> | any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): ReflectMethod | void {\n if (propertyKey && descriptor) {\n process({method: HttpMethod.TRACE}, configOrTarget, propertyKey, descriptor);\n } else {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n configOrTarget.method = HttpMethod.TRACE;\n process(configOrTarget, target, propertyKey, descriptor);\n }\n }\n}\n\nexport const getTRACE = (target: any, propertyKey: string | symbol): MappingConfig | undefined => {\n return getUrlMapping(target, propertyKey);\n}\nexport const getTRACES = (target: any): SaveMappingConfig[] => {\n return getUrlMappings(target)?.filter(it => it.config?.method.toUpperCase() === HttpMethod.TRACE);\n}\nexport function CONNECT(config: Omit<MappingConfig, 'method'>): ReflectMethod;\nexport function CONNECT(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;\nexport function CONNECT(configOrTarget?: Omit<MappingConfig, 'method'> | any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): ReflectMethod | void {\n if (propertyKey && descriptor) {\n process({method: HttpMethod.CONNECT}, configOrTarget, propertyKey, descriptor);\n } else {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n configOrTarget.method = HttpMethod.CONNECT;\n process(configOrTarget, target, propertyKey, descriptor);\n }\n }\n}\n\nexport const getCONNECT = (target: any, propertyKey: string | symbol): MappingConfig | undefined => {\n return getUrlMapping(target, propertyKey);\n}\nexport const getCONNECTS = (target: any): SaveMappingConfig[] => {\n return getUrlMappings(target)?.filter(it => it.config?.method.toUpperCase() === HttpMethod.CONNECT);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,8BAAO;AAGP,0BAA6B;AA6B7B,IAAM,qBAAqB,OAAO,oBAAoB;AAyB/C,IAAM,iBAAiB,CAAC,WAAqC;AAChE,MAAI,WAAW,QAAQ,WAAc,UAAU,OAAO,WAAW,UAAU;AACvE,aAAS,OAAO;AAAA,EACpB;AACA,SAAO,iCAAa,YAAY,oBAAoB,MAAM;AAC9D;;;ADiDA,IAAM,cAA2B;AAAA,EAC7B,SAAS;AAAA,EACT,MAAM;AAAA,IACF,OAAO;AAAA,IACP,aAAa;AAAA,EACjB;AACJ;AAEO,IAAM,iBAAN,MAAuC;AAAA,EAG1C,YAAmB,QAA4E,eAAsC;AAAlH;AACf,SAAK,gBAAgB,OAAO,OAAO,OAAO,OAAO,CAAC,GAAG,WAAW,GAAG,iBAAiB,CAAC,CAAC;AAAA,EAC1F;AAAA,EACA,MAAM,OAAO,KAA0B;AAAA,EACvC;AAAA,EACA,MAAM,cAAc,EAAC,IAAI,IAAG,GAAgF;AACxG,QAAI,GAAG,WAAW,KAAK,OAAO,MAAM;AAChC,YAAM,MAAM,IAAI,cAAc,WAAW;AAEzC,YAAM,OAAO;AAAA,QACT,OAAO,CAAC;AAAA,MACZ;AAEA,aAAO,QAAQ,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM;AAC9E,cAAM,SAAS,KAAK,MAAO,CAAC,IAAI,CAAC;AACjC,uBAAe,CAAC,GAAG,QAAQ,QAAM;AAC7B,iBAAO,GAAG,OAAO,MAAM,IAAI;AAAA,YACvB,SAAS,GAAG;AAAA,YACZ,aAAa,GAAG;AAAA;AAAA;AAAA;AAAA,UAIpB;AAAA,QACJ,CAAC;AAAA,MACL,CAAC;AAED,SAAG,aAAa,OAAO,OAAO,OAAO,OAAO,CAAC,GAAG,KAAK,aAAa,GAAG,IAAI,CAAC,EAAE,0BAA2B,EAAE,OAAO;AAChH,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,aAAa,EAAC,IAAI,IAAG,GAAgF;AACvG,WAAO;AAAA,EACX;AACJ;",
3
+ "sources": ["../../../src/filters/OpenApi3Filter.ts"],
4
+ "sourcesContent": ["import {Filter} from './Filter';\nimport {HttpStatus} from '../codes/HttpStatus';\nimport {SimpleBootHttpServer} from '../SimpleBootHttpServer';\nimport {RequestResponse} from '../models/RequestResponse';\nimport {getUrlMappings} from '../decorators/MethodMapping';\n\ntype MethodType = {\n summary?: string;\n description?: string;\n operationId?: string;\n parameters?: {\n name: string;\n in: string;\n required: boolean;\n schema: {\n type: string;\n format?: string;\n items?: {\n type: string;\n format?: string;\n }\n }\n }[];\n responses: {\n [code: string]: {\n description: string;\n content?: {\n [type: string]: {\n schema: {\n type: string;\n format?: string;\n items?: {\n type: string;\n format?: string;\n }\n }\n }\n }\n }\n }\n};\ntype PathType = {\n [method: string]: MethodType\n};\ntype PathsType = {\n [path: string]: PathType\n};\nexport type OpenApiType = {\n openapi: string;\n info?: {\n title?: string;\n description?: string;\n contact?: {\n name?: string;\n email?: string;\n }\n }\n servers?: { url: string }[],\n paths?: PathsType\n components?: {\n schemas?: {\n [key: string]: {\n type: string;\n required?: string[];\n properties?: {\n [key: string]: {\n type: string;\n format?: string;\n items?: {\n type: string;\n format?: string;\n }\n }\n }\n }\n }\n securitySchemes?: {\n [key: string]: {\n type: string;\n description?: string;\n in?: string;\n name?: string;\n scheme?: string;\n bearerFormat?: string;\n flows?: {\n [key: string]: {\n authorizationUrl?: string;\n tokenUrl?: string;\n refreshUrl?: string;\n scopes?: {\n [key: string]: {\n description?: string;\n }\n }\n }\n }\n }\n }\n }\n}\nexport type OpenApi3FilterConfig = {\n info?: {\n title?: string;\n description?: string;\n contact?: {\n name?: string;\n email?: string;\n }\n }\n servers?: { url: string }[],\n}\nconst DefulatData: OpenApiType = {\n openapi: '3.0.1',\n info: {\n title: 'SimpleBootHttpServer OpenApi3',\n description: 'SimpleBootHttpServer OpenApi3',\n }\n}\n\nexport class OpenApi3Filter implements Filter {\n private openApiConfig: any;\n\n constructor(public config: { path: string, excludePath?: { method: string, path: string }[] }, openApiConfig?: OpenApi3FilterConfig) {\n this.openApiConfig = Object.assign(Object.assign({}, DefulatData), openApiConfig ?? {})\n }\n async onInit(app: SimpleBootHttpServer){\n }\n async proceedBefore({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n if (rr.reqUrl === this.config.path) {\n const map = app.routerManager.routingMap();\n // let routers = app.simstanceManager.getSimAtomics().filter((it: SimAtomic) => it.getConfig(RouterMetadataKey));\n const data = {\n paths: {} as PathsType\n } as OpenApiType;\n\n Object.entries(map).filter(([k, v]) => typeof v !== 'string').forEach(([k, v]) => {\n const method = data.paths![k] = {} as PathType;\n getUrlMappings(v)?.forEach(it => {\n method[it.config.method] = {\n summary: it.propertyKey,\n description: it.propertyKey\n // operationId: it.operationId,\n // parameters: it.parameters,\n // responses: it.responses,\n } as MethodType\n });\n })\n\n rr.resWriteJson(Object.assign(Object.assign({}, this.openApiConfig), data)).resStatusCode(HttpStatus.Ok).resEnd();\n return false;\n }\n return true;\n }\n\n async proceedAfter({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n return true;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAyB;AAGzB,2BAA6B;AA2G7B,MAAM,cAA2B;AAAA,EAC7B,SAAS;AAAA,EACT,MAAM;AAAA,IACF,OAAO;AAAA,IACP,aAAa;AAAA,EACjB;AACJ;AAEO,MAAM,eAAiC;AAAA,EAG1C,YAAmB,QAA4E,eAAsC;AAAlH;AACf,SAAK,gBAAgB,OAAO,OAAO,OAAO,OAAO,CAAC,GAAG,WAAW,GAAG,iBAAiB,CAAC,CAAC;AAAA,EAC1F;AAAA,EAJQ;AAAA,EAKR,MAAM,OAAO,KAA0B;AAAA,EACvC;AAAA,EACA,MAAM,cAAc,EAAC,IAAI,IAAG,GAAgF;AACxG,QAAI,GAAG,WAAW,KAAK,OAAO,MAAM;AAChC,YAAM,MAAM,IAAI,cAAc,WAAW;AAEzC,YAAM,OAAO;AAAA,QACT,OAAO,CAAC;AAAA,MACZ;AAEA,aAAO,QAAQ,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM;AAC9E,cAAM,SAAS,KAAK,MAAO,CAAC,IAAI,CAAC;AACjC,iDAAe,CAAC,GAAG,QAAQ,QAAM;AAC7B,iBAAO,GAAG,OAAO,MAAM,IAAI;AAAA,YACvB,SAAS,GAAG;AAAA,YACZ,aAAa,GAAG;AAAA;AAAA;AAAA;AAAA,UAIpB;AAAA,QACJ,CAAC;AAAA,MACL,CAAC;AAED,SAAG,aAAa,OAAO,OAAO,OAAO,OAAO,CAAC,GAAG,KAAK,aAAa,GAAG,IAAI,CAAC,EAAE,cAAc,6BAAW,EAAE,EAAE,OAAO;AAChH,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,aAAa,EAAC,IAAI,IAAG,GAAgF;AACvG,WAAO;AAAA,EACX;AACJ;",
6
6
  "names": []
7
7
  }
@@ -25,8 +25,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/filters/ResourceFilter.ts
30
28
  var ResourceFilter_exports = {};
31
29
  __export(ResourceFilter_exports, {
32
30
  ResourceFilter: () => ResourceFilter
@@ -35,7 +33,9 @@ module.exports = __toCommonJS(ResourceFilter_exports);
35
33
  var import_fs = __toESM(require("fs"), 1);
36
34
  var import_path = __toESM(require("path"), 1);
37
35
  var import_mime_types = __toESM(require("mime-types"), 1);
38
- var ResourceFilter = class {
36
+ var import_HttpHeaders = require("../codes/HttpHeaders");
37
+ var import_HttpStatus = require("../codes/HttpStatus");
38
+ class ResourceFilter {
39
39
  constructor(resourceDistPath, resourceRegex = []) {
40
40
  this.resourceDistPath = resourceDistPath;
41
41
  this.resourceRegex = resourceRegex;
@@ -67,12 +67,12 @@ var ResourceFilter = class {
67
67
  const resourcePath = import_path.default.join(this.resourceDistPath, typeof it === "object" && "dist" in it ? it.dist : urlObj.pathname);
68
68
  sw = false;
69
69
  if (import_fs.default.existsSync(resourcePath)) {
70
- rr.resStatusCode(200 /* Ok */);
71
- rr.resSetHeader("Content-Type" /* ContentType */, import_mime_types.default.lookup(resourcePath).toString());
70
+ rr.resStatusCode(import_HttpStatus.HttpStatus.Ok);
71
+ rr.resSetHeader(import_HttpHeaders.HttpHeaders.ContentType, import_mime_types.default.lookup(resourcePath).toString());
72
72
  await rr.resEnd(import_fs.default.readFileSync(resourcePath));
73
73
  break;
74
74
  } else {
75
- rr.resStatusCode(404 /* NotFound */);
75
+ rr.resStatusCode(import_HttpStatus.HttpStatus.NotFound);
76
76
  await rr.resEnd();
77
77
  break;
78
78
  }
@@ -83,7 +83,7 @@ var ResourceFilter = class {
83
83
  async proceedAfter({ rr, app }) {
84
84
  return true;
85
85
  }
86
- };
86
+ }
87
87
  // Annotate the CommonJS export names for ESM import in node:
88
88
  0 && (module.exports = {
89
89
  ResourceFilter
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/filters/ResourceFilter.ts"],
4
4
  "sourcesContent": ["import { Filter } from '../filters/Filter';\nimport fs from 'fs';\nimport path from 'path';\nimport mime from 'mime-types';\nimport { HttpHeaders } from '../codes/HttpHeaders';\nimport { HttpStatus } from '../codes/HttpStatus';\nimport { SimpleBootHttpServer } from '../SimpleBootHttpServer';\nimport { RequestResponse } from '../models/RequestResponse';\n\nexport type RequestFilterType = string | RegExp | ((rr: RequestResponse, app: SimpleBootHttpServer) => boolean) | ((rr: RequestResponse, app: SimpleBootHttpServer) => Promise<boolean>);\n\nexport class ResourceFilter implements Filter {\n constructor(private resourceDistPath: string, private resourceRegex: (RequestFilterType | { request: RequestFilterType, dist: string })[] = []) {\n }\n\n async onInit(app: SimpleBootHttpServer) {\n }\n\n async proceedBefore({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n const url = (rr.reqUrlPathName ?? '').replace(/\\.\\./g, '');\n const urlObj = rr.reqUrlObject;\n // const requestUrl = parse(rr.reqUrl ?? '', true);\n let sw = true;\n const regExps = this.resourceRegex.filter(it => {\n if (it instanceof RegExp) {\n return it.test(url);\n }\n\n if (typeof it === 'string') {\n return RegExp(it).test(url);\n }\n\n if (typeof it === 'function') {\n return it(rr, app);\n }\n\n if (typeof it === 'object' && 'request' in it) {\n if (typeof it.request === 'function') {\n return it.request(rr, app);\n }\n return RegExp(it.request).test(url);\n }\n })\n // console.log('regExps', regExps, url, this.resourceRegex);\n // eslint-disable-next-line no-unused-vars\n for (const it of regExps) {\n const resourcePath = path.join(this.resourceDistPath, typeof it === 'object' && 'dist' in it ? it.dist : urlObj.pathname);\n // console.log('ResourceFilter', resourcePath, it, urlObj.pathname, url);\n sw = false;\n // console.log('-----', resourcePath);\n if (fs.existsSync(resourcePath)) {\n // const header = {} as any;\n // header[HttpHeaders.ContentType] = mime.lookup(resourcePath);\n // res.writeHead(HttpStatus.Ok, header);\n rr.resStatusCode(HttpStatus.Ok);\n rr.resSetHeader(HttpHeaders.ContentType, mime.lookup(resourcePath).toString());\n await rr.resEnd(fs.readFileSync(resourcePath));\n break;\n } else {\n rr.resStatusCode(HttpStatus.NotFound)\n await rr.resEnd();\n break;\n }\n sw = false;\n }\n return sw;\n }\n\n async proceedAfter({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n return true;\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gBAAe;AACf,kBAAiB;AACjB,wBAAiB;AAQV,IAAM,iBAAN,MAAuC;AAAA,EAC1C,YAAoB,kBAAkC,gBAAsF,CAAC,GAAG;AAA5H;AAAkC;AAAA,EACtD;AAAA,EAEA,MAAM,OAAO,KAA2B;AAAA,EACxC;AAAA,EAEA,MAAM,cAAc,EAAC,IAAI,IAAG,GAAgF;AACxG,UAAM,OAAO,GAAG,kBAAkB,IAAI,QAAQ,SAAS,EAAE;AACzD,UAAM,SAAS,GAAG;AAElB,QAAI,KAAK;AACT,UAAM,UAAU,KAAK,cAAc,OAAO,QAAM;AAC5C,UAAI,cAAc,QAAQ;AACtB,eAAO,GAAG,KAAK,GAAG;AAAA,MACtB;AAEA,UAAI,OAAO,OAAO,UAAU;AACxB,eAAO,OAAO,EAAE,EAAE,KAAK,GAAG;AAAA,MAC9B;AAEA,UAAI,OAAO,OAAO,YAAY;AAC1B,eAAO,GAAG,IAAI,GAAG;AAAA,MACrB;AAEA,UAAI,OAAO,OAAO,YAAY,aAAa,IAAI;AAC3C,YAAI,OAAO,GAAG,YAAY,YAAY;AAClC,iBAAO,GAAG,QAAQ,IAAI,GAAG;AAAA,QAC7B;AACA,eAAO,OAAO,GAAG,OAAO,EAAE,KAAK,GAAG;AAAA,MACtC;AAAA,IACJ,CAAC;AAGD,eAAW,MAAM,SAAS;AACtB,YAAM,eAAe,YAAAA,QAAK,KAAK,KAAK,kBAAkB,OAAO,OAAO,YAAY,UAAU,KAAK,GAAG,OAAO,OAAO,QAAQ;AAExH,WAAK;AAEL,UAAI,UAAAC,QAAG,WAAW,YAAY,GAAG;AAI7B,WAAG,0BAA2B;AAC9B,WAAG,+CAAsC,kBAAAC,QAAK,OAAO,YAAY,EAAE,SAAS,CAAC;AAC7E,cAAM,GAAG,OAAO,UAAAD,QAAG,aAAa,YAAY,CAAC;AAC7C;AAAA,MACJ,OAAO;AACH,WAAG,gCAAiC;AACpC,cAAM,GAAG,OAAO;AAChB;AAAA,MACJ;AACA,WAAK;AAAA,IACT;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,aAAa,EAAC,IAAI,IAAG,GAAgF;AACvG,WAAO;AAAA,EACX;AACJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gBAAe;AACf,kBAAiB;AACjB,wBAAiB;AACjB,yBAA4B;AAC5B,wBAA2B;AAMpB,MAAM,eAAiC;AAAA,EAC1C,YAAoB,kBAAkC,gBAAsF,CAAC,GAAG;AAA5H;AAAkC;AAAA,EACtD;AAAA,EAEA,MAAM,OAAO,KAA2B;AAAA,EACxC;AAAA,EAEA,MAAM,cAAc,EAAC,IAAI,IAAG,GAAgF;AACxG,UAAM,OAAO,GAAG,kBAAkB,IAAI,QAAQ,SAAS,EAAE;AACzD,UAAM,SAAS,GAAG;AAElB,QAAI,KAAK;AACT,UAAM,UAAU,KAAK,cAAc,OAAO,QAAM;AAC5C,UAAI,cAAc,QAAQ;AACtB,eAAO,GAAG,KAAK,GAAG;AAAA,MACtB;AAEA,UAAI,OAAO,OAAO,UAAU;AACxB,eAAO,OAAO,EAAE,EAAE,KAAK,GAAG;AAAA,MAC9B;AAEA,UAAI,OAAO,OAAO,YAAY;AAC1B,eAAO,GAAG,IAAI,GAAG;AAAA,MACrB;AAEA,UAAI,OAAO,OAAO,YAAY,aAAa,IAAI;AAC3C,YAAI,OAAO,GAAG,YAAY,YAAY;AAClC,iBAAO,GAAG,QAAQ,IAAI,GAAG;AAAA,QAC7B;AACA,eAAO,OAAO,GAAG,OAAO,EAAE,KAAK,GAAG;AAAA,MACtC;AAAA,IACJ,CAAC;AAGD,eAAW,MAAM,SAAS;AACtB,YAAM,eAAe,YAAAA,QAAK,KAAK,KAAK,kBAAkB,OAAO,OAAO,YAAY,UAAU,KAAK,GAAG,OAAO,OAAO,QAAQ;AAExH,WAAK;AAEL,UAAI,UAAAC,QAAG,WAAW,YAAY,GAAG;AAI7B,WAAG,cAAc,6BAAW,EAAE;AAC9B,WAAG,aAAa,+BAAY,aAAa,kBAAAC,QAAK,OAAO,YAAY,EAAE,SAAS,CAAC;AAC7E,cAAM,GAAG,OAAO,UAAAD,QAAG,aAAa,YAAY,CAAC;AAC7C;AAAA,MACJ,OAAO;AACH,WAAG,cAAc,6BAAW,QAAQ;AACpC,cAAM,GAAG,OAAO;AAChB;AAAA,MACJ;AACA,WAAK;AAAA,IACT;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,aAAa,EAAC,IAAI,IAAG,GAAgF;AACvG,WAAO;AAAA,EACX;AACJ;",
6
6
  "names": ["path", "fs", "mime"]
7
7
  }
@@ -15,14 +15,12 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/filters/ThrowFilter.ts
20
18
  var ThrowFilter_exports = {};
21
19
  __export(ThrowFilter_exports, {
22
20
  ThrowFilter: () => ThrowFilter
23
21
  });
24
22
  module.exports = __toCommonJS(ThrowFilter_exports);
25
- var ThrowFilter = class {
23
+ class ThrowFilter {
26
24
  constructor(error) {
27
25
  this.error = error;
28
26
  }
@@ -39,7 +37,7 @@ var ThrowFilter = class {
39
37
  ;
40
38
  return false;
41
39
  }
42
- };
40
+ }
43
41
  // Annotate the CommonJS export names for ESM import in node:
44
42
  0 && (module.exports = {
45
43
  ThrowFilter
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/filters/ThrowFilter.ts"],
4
4
  "sourcesContent": ["import { Filter } from '../filters/Filter';\nimport { RequestResponse } from '../models/RequestResponse';\nimport {SimpleBootHttpServer} from '../SimpleBootHttpServer';\n\nexport class ThrowFilter implements Filter {\n constructor(private error: any) {\n }\n\n async onInit(app: SimpleBootHttpServer){\n }\n\n async proceedBefore({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n return true;\n }\n\n async proceedAfter({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {\n const sw = rr.resIsDone();\n if (!sw) {\n throw this.error;\n };\n return false;\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,IAAM,cAAN,MAAoC;AAAA,EACvC,YAAoB,OAAY;AAAZ;AAAA,EACpB;AAAA,EAEA,MAAM,OAAO,KAA0B;AAAA,EACvC;AAAA,EAEA,MAAM,cAAc,EAAC,IAAI,IAAG,GAAgF;AACxG,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,aAAa,EAAC,IAAI,IAAG,GAAgF;AACvG,UAAM,KAAK,GAAG,UAAU;AACxB,QAAI,CAAC,IAAI;AACL,YAAM,KAAK;AAAA,IACf;AAAC;AACD,WAAO;AAAA,EACX;AACJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,MAAM,YAA8B;AAAA,EACvC,YAAoB,OAAY;AAAZ;AAAA,EACpB;AAAA,EAEA,MAAM,OAAO,KAA0B;AAAA,EACvC;AAAA,EAEA,MAAM,cAAc,EAAC,IAAI,IAAG,GAAgF;AACxG,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,aAAa,EAAC,IAAI,IAAG,GAAgF;AACvG,UAAM,KAAK,GAAG,UAAU;AACxB,QAAI,CAAC,IAAI;AACL,YAAM,KAAK;AAAA,IACf;AAAC;AACD,WAAO;AAAA,EACX;AACJ;",
6
6
  "names": []
7
7
  }