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

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 (286) hide show
  1. package/dist/cjs/SimpleBootHttpServer.js +0 -2
  2. package/dist/cjs/SimpleBootHttpServer.js.map +1 -1
  3. package/dist/cjs/bundle-entry.js +44 -0
  4. package/dist/cjs/bundle-entry.js.map +7 -0
  5. package/dist/cjs/codes/HttpHeaders.js +42 -42
  6. package/dist/cjs/codes/HttpHeaders.js.map +3 -3
  7. package/dist/cjs/errors/HttpError.js +1 -5
  8. package/dist/cjs/errors/HttpError.js.map +1 -1
  9. package/dist/cjs/filters/CacheFilter.js +4 -3
  10. package/dist/cjs/filters/CacheFilter.js.map +1 -1
  11. package/dist/cjs/filters/OpenApi3Filter.js +0 -1
  12. package/dist/cjs/filters/OpenApi3Filter.js.map +1 -1
  13. package/dist/cjs/index.js.map +2 -2
  14. package/dist/cjs/models/RequestResponse.js +0 -5
  15. package/dist/cjs/models/RequestResponse.js.map +2 -2
  16. package/dist/cjs/models/datas/ReqHeader.js +0 -63
  17. package/dist/cjs/models/datas/ReqHeader.js.map +1 -1
  18. package/dist/cjs/option/HttpServerOption.js +6 -13
  19. package/dist/cjs/option/HttpServerOption.js.map +1 -1
  20. package/dist/cjs/session/SessionManager.js +1 -2
  21. package/dist/cjs/session/SessionManager.js.map +1 -1
  22. package/dist/esm/SimpleBootHttpServer.js +0 -2
  23. package/dist/esm/SimpleBootHttpServer.js.map +1 -1
  24. package/dist/esm/bundle-entry.js +13 -0
  25. package/dist/esm/bundle-entry.js.map +7 -0
  26. package/dist/esm/codes/HttpHeaders.js +42 -42
  27. package/dist/esm/codes/HttpHeaders.js.map +3 -3
  28. package/dist/esm/errors/HttpError.js +1 -5
  29. package/dist/esm/errors/HttpError.js.map +1 -1
  30. package/dist/esm/filters/CacheFilter.js +4 -3
  31. package/dist/esm/filters/CacheFilter.js.map +1 -1
  32. package/dist/esm/filters/OpenApi3Filter.js +0 -1
  33. package/dist/esm/filters/OpenApi3Filter.js.map +1 -1
  34. package/dist/esm/index.js.map +2 -2
  35. package/dist/esm/models/RequestResponse.js +0 -5
  36. package/dist/esm/models/RequestResponse.js.map +2 -2
  37. package/dist/esm/models/datas/ReqHeader.js +0 -63
  38. package/dist/esm/models/datas/ReqHeader.js.map +1 -1
  39. package/dist/esm/option/HttpServerOption.js +6 -13
  40. package/dist/esm/option/HttpServerOption.js.map +1 -1
  41. package/dist/esm/session/SessionManager.js +1 -2
  42. package/dist/esm/session/SessionManager.js.map +1 -1
  43. package/dist/esm-bundle/dooboostore-simple-boot-http-server.esm.js +15392 -3
  44. package/dist/esm-bundle/dooboostore-simple-boot-http-server.esm.js.map +4 -4
  45. package/dist/types/bundle-entry.d.ts +13 -0
  46. package/dist/types/bundle-entry.d.ts.map +1 -0
  47. package/dist/types/codes/HttpHeaders.d.ts +43 -0
  48. package/dist/types/codes/HttpHeaders.d.ts.map +1 -0
  49. package/dist/types/index.d.ts +41 -0
  50. package/dist/{esm → types}/index.d.ts.map +1 -1
  51. package/dist/{esm → types}/models/RequestResponse.d.ts +7 -7
  52. package/dist/types/models/RequestResponse.d.ts.map +1 -0
  53. package/dist/umd-bundle/dooboostore-simple-boot-http-server.umd.js +15385 -7
  54. package/dist/umd-bundle/dooboostore-simple-boot-http-server.umd.js.map +4 -4
  55. package/package.json +27 -16
  56. package/src/SimpleBootHttpServer.ts +330 -0
  57. package/src/bundle-entry.ts +12 -0
  58. package/src/codes/HttpHeaders.ts +43 -0
  59. package/src/codes/HttpMethod.ts +11 -0
  60. package/{dist/esm/codes/HttpStatus.d.ts → src/codes/HttpStatus.ts} +2 -2
  61. package/src/codes/Mimes.ts +27 -0
  62. package/{dist/esm/codes/index.d.ts → src/codes/index.ts} +0 -1
  63. package/src/decorators/MethodMapping.ts +233 -0
  64. package/src/decorators/index.ts +1 -0
  65. package/src/endpoints/CrossDomainHeaderEndPoint.ts +38 -0
  66. package/src/endpoints/EndPoint.ts +7 -0
  67. package/src/endpoints/HeaderEndPoint.ts +17 -0
  68. package/{dist/esm/endpoints/index.d.ts → src/endpoints/index.ts} +0 -1
  69. package/src/errors/BadRequestError.ts +8 -0
  70. package/src/errors/ForbiddenError.ts +8 -0
  71. package/src/errors/HttpError.ts +14 -0
  72. package/src/errors/InternalServerError.ts +8 -0
  73. package/src/errors/NotFoundError.ts +8 -0
  74. package/src/errors/UnauthorizedError.ts +8 -0
  75. package/{dist/esm/errors/index.d.ts → src/errors/index.ts} +0 -1
  76. package/src/filters/CacheFilter.ts +169 -0
  77. package/src/filters/Filter.ts +10 -0
  78. package/src/filters/HttpStatusFilter.ts +24 -0
  79. package/src/filters/OpenApi3Filter.ts +158 -0
  80. package/src/filters/ResourceFilter.ts +72 -0
  81. package/src/filters/ThrowFilter.ts +23 -0
  82. package/{dist/esm/filters/index.d.ts → src/filters/index.ts} +0 -1
  83. package/src/index.ts +13 -0
  84. package/src/inject/InjectSituationType.ts +3 -0
  85. package/{dist/esm/inject/index.d.ts → src/inject/index.ts} +0 -1
  86. package/src/lifecycle/OnInit.ts +5 -0
  87. package/src/lifecycle/index.ts +1 -0
  88. package/src/models/RequestResponse.ts +658 -0
  89. package/src/models/datas/HeaderData.ts +4 -0
  90. package/src/models/datas/MultipartData.ts +27 -0
  91. package/{dist/esm/models/datas/ReqHeader.d.ts → src/models/datas/ReqHeader.ts} +5 -4
  92. package/src/models/datas/Resource.ts +44 -0
  93. package/src/models/datas/body/ReqFormUrlBody.ts +3 -0
  94. package/src/models/datas/body/ReqJsonBody.ts +3 -0
  95. package/src/models/datas/body/ReqMultipartFormBody.ts +6 -0
  96. package/{dist/esm/models/index.d.ts → src/models/index.ts} +0 -1
  97. package/src/models/method/patch/PatchJson.ts +46 -0
  98. package/src/option/HttpServerOption.ts +81 -0
  99. package/{dist/esm/option/index.d.ts → src/option/index.ts} +0 -1
  100. package/src/resolvers/Resolver.ts +5 -0
  101. package/src/resolvers/ResourceResolver.ts +11 -0
  102. package/{dist/esm/resolvers/index.d.ts → src/resolvers/index.ts} +0 -1
  103. package/src/session/SessionManager.ts +89 -0
  104. package/src/session/index.ts +1 -0
  105. package/tsconfig.json +23 -0
  106. package/dist/cjs/codes/HttpHeaders.d.ts +0 -42
  107. package/dist/cjs/codes/HttpHeaders.d.ts.map +0 -1
  108. package/dist/cjs/index.d.ts +0 -3
  109. package/dist/cjs/index.d.ts.map +0 -1
  110. package/dist/cjs/models/RequestResponse.d.ts +0 -100
  111. package/dist/cjs/models/RequestResponse.d.ts.map +0 -1
  112. package/dist/cjs/package.json +0 -3
  113. package/dist/esm/SimpleBootHttpServer.d.ts +0 -15
  114. package/dist/esm/SimpleBootHttpServer.d.ts.map +0 -1
  115. package/dist/esm/codes/HttpHeaders.d.ts +0 -42
  116. package/dist/esm/codes/HttpHeaders.d.ts.map +0 -1
  117. package/dist/esm/codes/HttpMethod.d.ts +0 -12
  118. package/dist/esm/codes/HttpMethod.d.ts.map +0 -1
  119. package/dist/esm/codes/HttpStatus.d.ts.map +0 -1
  120. package/dist/esm/codes/Mimes.d.ts +0 -28
  121. package/dist/esm/codes/Mimes.d.ts.map +0 -1
  122. package/dist/esm/codes/index.d.ts.map +0 -1
  123. package/dist/esm/decorators/MethodMapping.d.ts +0 -73
  124. package/dist/esm/decorators/MethodMapping.d.ts.map +0 -1
  125. package/dist/esm/decorators/index.d.ts +0 -2
  126. package/dist/esm/decorators/index.d.ts.map +0 -1
  127. package/dist/esm/endpoints/CrossDomainHeaderEndPoint.d.ts +0 -16
  128. package/dist/esm/endpoints/CrossDomainHeaderEndPoint.d.ts.map +0 -1
  129. package/dist/esm/endpoints/EndPoint.d.ts +0 -7
  130. package/dist/esm/endpoints/EndPoint.d.ts.map +0 -1
  131. package/dist/esm/endpoints/HeaderEndPoint.d.ts +0 -12
  132. package/dist/esm/endpoints/HeaderEndPoint.d.ts.map +0 -1
  133. package/dist/esm/endpoints/index.d.ts.map +0 -1
  134. package/dist/esm/errors/BadRequestError.d.ts +0 -8
  135. package/dist/esm/errors/BadRequestError.d.ts.map +0 -1
  136. package/dist/esm/errors/ForbiddenError.d.ts +0 -8
  137. package/dist/esm/errors/ForbiddenError.d.ts.map +0 -1
  138. package/dist/esm/errors/HttpError.d.ts +0 -12
  139. package/dist/esm/errors/HttpError.d.ts.map +0 -1
  140. package/dist/esm/errors/InternalServerError.d.ts +0 -8
  141. package/dist/esm/errors/InternalServerError.d.ts.map +0 -1
  142. package/dist/esm/errors/NotFoundError.d.ts +0 -8
  143. package/dist/esm/errors/NotFoundError.d.ts.map +0 -1
  144. package/dist/esm/errors/UnauthorizedError.d.ts +0 -8
  145. package/dist/esm/errors/UnauthorizedError.d.ts.map +0 -1
  146. package/dist/esm/errors/index.d.ts.map +0 -1
  147. package/dist/esm/filters/CacheFilter.d.ts +0 -45
  148. package/dist/esm/filters/CacheFilter.d.ts.map +0 -1
  149. package/dist/esm/filters/Filter.d.ts +0 -17
  150. package/dist/esm/filters/Filter.d.ts.map +0 -1
  151. package/dist/esm/filters/HttpStatusFilter.d.ts +0 -20
  152. package/dist/esm/filters/HttpStatusFilter.d.ts.map +0 -1
  153. package/dist/esm/filters/OpenApi3Filter.d.ts +0 -142
  154. package/dist/esm/filters/OpenApi3Filter.d.ts.map +0 -1
  155. package/dist/esm/filters/ResourceFilter.d.ts +0 -24
  156. package/dist/esm/filters/ResourceFilter.d.ts.map +0 -1
  157. package/dist/esm/filters/ThrowFilter.d.ts +0 -19
  158. package/dist/esm/filters/ThrowFilter.d.ts.map +0 -1
  159. package/dist/esm/filters/index.d.ts.map +0 -1
  160. package/dist/esm/index.d.ts +0 -3
  161. package/dist/esm/inject/InjectSituationType.d.ts +0 -4
  162. package/dist/esm/inject/InjectSituationType.d.ts.map +0 -1
  163. package/dist/esm/inject/index.d.ts.map +0 -1
  164. package/dist/esm/lifecycle/OnInit.d.ts +0 -5
  165. package/dist/esm/lifecycle/OnInit.d.ts.map +0 -1
  166. package/dist/esm/lifecycle/index.d.ts +0 -2
  167. package/dist/esm/lifecycle/index.d.ts.map +0 -1
  168. package/dist/esm/models/RequestResponse.d.ts.map +0 -1
  169. package/dist/esm/models/datas/HeaderData.d.ts +0 -10
  170. package/dist/esm/models/datas/HeaderData.d.ts.map +0 -1
  171. package/dist/esm/models/datas/MultipartData.d.ts +0 -12
  172. package/dist/esm/models/datas/MultipartData.d.ts.map +0 -1
  173. package/dist/esm/models/datas/ReqHeader.d.ts.map +0 -1
  174. package/dist/esm/models/datas/Resource.d.ts +0 -11
  175. package/dist/esm/models/datas/Resource.d.ts.map +0 -1
  176. package/dist/esm/models/datas/body/ReqFormUrlBody.d.ts +0 -4
  177. package/dist/esm/models/datas/body/ReqFormUrlBody.d.ts.map +0 -1
  178. package/dist/esm/models/datas/body/ReqJsonBody.d.ts +0 -4
  179. package/dist/esm/models/datas/body/ReqJsonBody.d.ts.map +0 -1
  180. package/dist/esm/models/datas/body/ReqMultipartFormBody.d.ts +0 -6
  181. package/dist/esm/models/datas/body/ReqMultipartFormBody.d.ts.map +0 -1
  182. package/dist/esm/models/index.d.ts.map +0 -1
  183. package/dist/esm/models/method/patch/PatchJson.d.ts +0 -8
  184. package/dist/esm/models/method/patch/PatchJson.d.ts.map +0 -1
  185. package/dist/esm/option/HttpServerOption.d.ts +0 -83
  186. package/dist/esm/option/HttpServerOption.d.ts.map +0 -1
  187. package/dist/esm/option/index.d.ts.map +0 -1
  188. package/dist/esm/resolvers/Resolver.d.ts +0 -5
  189. package/dist/esm/resolvers/Resolver.d.ts.map +0 -1
  190. package/dist/esm/resolvers/ResourceResolver.d.ts +0 -6
  191. package/dist/esm/resolvers/ResourceResolver.d.ts.map +0 -1
  192. package/dist/esm/resolvers/index.d.ts.map +0 -1
  193. package/dist/esm/session/SessionManager.d.ts +0 -57
  194. package/dist/esm/session/SessionManager.d.ts.map +0 -1
  195. package/dist/esm/session/index.d.ts +0 -2
  196. package/dist/esm/session/index.d.ts.map +0 -1
  197. /package/dist/{cjs → types}/SimpleBootHttpServer.d.ts +0 -0
  198. /package/dist/{cjs → types}/SimpleBootHttpServer.d.ts.map +0 -0
  199. /package/dist/{cjs → types}/codes/HttpMethod.d.ts +0 -0
  200. /package/dist/{cjs → types}/codes/HttpMethod.d.ts.map +0 -0
  201. /package/dist/{cjs → types}/codes/HttpStatus.d.ts +0 -0
  202. /package/dist/{cjs → types}/codes/HttpStatus.d.ts.map +0 -0
  203. /package/dist/{cjs → types}/codes/Mimes.d.ts +0 -0
  204. /package/dist/{cjs → types}/codes/Mimes.d.ts.map +0 -0
  205. /package/dist/{cjs → types}/codes/index.d.ts +0 -0
  206. /package/dist/{cjs → types}/codes/index.d.ts.map +0 -0
  207. /package/dist/{cjs → types}/decorators/MethodMapping.d.ts +0 -0
  208. /package/dist/{cjs → types}/decorators/MethodMapping.d.ts.map +0 -0
  209. /package/dist/{cjs → types}/decorators/index.d.ts +0 -0
  210. /package/dist/{cjs → types}/decorators/index.d.ts.map +0 -0
  211. /package/dist/{cjs → types}/endpoints/CrossDomainHeaderEndPoint.d.ts +0 -0
  212. /package/dist/{cjs → types}/endpoints/CrossDomainHeaderEndPoint.d.ts.map +0 -0
  213. /package/dist/{cjs → types}/endpoints/EndPoint.d.ts +0 -0
  214. /package/dist/{cjs → types}/endpoints/EndPoint.d.ts.map +0 -0
  215. /package/dist/{cjs → types}/endpoints/HeaderEndPoint.d.ts +0 -0
  216. /package/dist/{cjs → types}/endpoints/HeaderEndPoint.d.ts.map +0 -0
  217. /package/dist/{cjs → types}/endpoints/index.d.ts +0 -0
  218. /package/dist/{cjs → types}/endpoints/index.d.ts.map +0 -0
  219. /package/dist/{cjs → types}/errors/BadRequestError.d.ts +0 -0
  220. /package/dist/{cjs → types}/errors/BadRequestError.d.ts.map +0 -0
  221. /package/dist/{cjs → types}/errors/ForbiddenError.d.ts +0 -0
  222. /package/dist/{cjs → types}/errors/ForbiddenError.d.ts.map +0 -0
  223. /package/dist/{cjs → types}/errors/HttpError.d.ts +0 -0
  224. /package/dist/{cjs → types}/errors/HttpError.d.ts.map +0 -0
  225. /package/dist/{cjs → types}/errors/InternalServerError.d.ts +0 -0
  226. /package/dist/{cjs → types}/errors/InternalServerError.d.ts.map +0 -0
  227. /package/dist/{cjs → types}/errors/NotFoundError.d.ts +0 -0
  228. /package/dist/{cjs → types}/errors/NotFoundError.d.ts.map +0 -0
  229. /package/dist/{cjs → types}/errors/UnauthorizedError.d.ts +0 -0
  230. /package/dist/{cjs → types}/errors/UnauthorizedError.d.ts.map +0 -0
  231. /package/dist/{cjs → types}/errors/index.d.ts +0 -0
  232. /package/dist/{cjs → types}/errors/index.d.ts.map +0 -0
  233. /package/dist/{cjs → types}/filters/CacheFilter.d.ts +0 -0
  234. /package/dist/{cjs → types}/filters/CacheFilter.d.ts.map +0 -0
  235. /package/dist/{cjs → types}/filters/Filter.d.ts +0 -0
  236. /package/dist/{cjs → types}/filters/Filter.d.ts.map +0 -0
  237. /package/dist/{cjs → types}/filters/HttpStatusFilter.d.ts +0 -0
  238. /package/dist/{cjs → types}/filters/HttpStatusFilter.d.ts.map +0 -0
  239. /package/dist/{cjs → types}/filters/OpenApi3Filter.d.ts +0 -0
  240. /package/dist/{cjs → types}/filters/OpenApi3Filter.d.ts.map +0 -0
  241. /package/dist/{cjs → types}/filters/ResourceFilter.d.ts +0 -0
  242. /package/dist/{cjs → types}/filters/ResourceFilter.d.ts.map +0 -0
  243. /package/dist/{cjs → types}/filters/ThrowFilter.d.ts +0 -0
  244. /package/dist/{cjs → types}/filters/ThrowFilter.d.ts.map +0 -0
  245. /package/dist/{cjs → types}/filters/index.d.ts +0 -0
  246. /package/dist/{cjs → types}/filters/index.d.ts.map +0 -0
  247. /package/dist/{cjs → types}/inject/InjectSituationType.d.ts +0 -0
  248. /package/dist/{cjs → types}/inject/InjectSituationType.d.ts.map +0 -0
  249. /package/dist/{cjs → types}/inject/index.d.ts +0 -0
  250. /package/dist/{cjs → types}/inject/index.d.ts.map +0 -0
  251. /package/dist/{cjs → types}/lifecycle/OnInit.d.ts +0 -0
  252. /package/dist/{cjs → types}/lifecycle/OnInit.d.ts.map +0 -0
  253. /package/dist/{cjs → types}/lifecycle/index.d.ts +0 -0
  254. /package/dist/{cjs → types}/lifecycle/index.d.ts.map +0 -0
  255. /package/dist/{cjs → types}/models/datas/HeaderData.d.ts +0 -0
  256. /package/dist/{cjs → types}/models/datas/HeaderData.d.ts.map +0 -0
  257. /package/dist/{cjs → types}/models/datas/MultipartData.d.ts +0 -0
  258. /package/dist/{cjs → types}/models/datas/MultipartData.d.ts.map +0 -0
  259. /package/dist/{cjs → types}/models/datas/ReqHeader.d.ts +0 -0
  260. /package/dist/{cjs → types}/models/datas/ReqHeader.d.ts.map +0 -0
  261. /package/dist/{cjs → types}/models/datas/Resource.d.ts +0 -0
  262. /package/dist/{cjs → types}/models/datas/Resource.d.ts.map +0 -0
  263. /package/dist/{cjs → types}/models/datas/body/ReqFormUrlBody.d.ts +0 -0
  264. /package/dist/{cjs → types}/models/datas/body/ReqFormUrlBody.d.ts.map +0 -0
  265. /package/dist/{cjs → types}/models/datas/body/ReqJsonBody.d.ts +0 -0
  266. /package/dist/{cjs → types}/models/datas/body/ReqJsonBody.d.ts.map +0 -0
  267. /package/dist/{cjs → types}/models/datas/body/ReqMultipartFormBody.d.ts +0 -0
  268. /package/dist/{cjs → types}/models/datas/body/ReqMultipartFormBody.d.ts.map +0 -0
  269. /package/dist/{cjs → types}/models/index.d.ts +0 -0
  270. /package/dist/{cjs → types}/models/index.d.ts.map +0 -0
  271. /package/dist/{cjs → types}/models/method/patch/PatchJson.d.ts +0 -0
  272. /package/dist/{cjs → types}/models/method/patch/PatchJson.d.ts.map +0 -0
  273. /package/dist/{cjs → types}/option/HttpServerOption.d.ts +0 -0
  274. /package/dist/{cjs → types}/option/HttpServerOption.d.ts.map +0 -0
  275. /package/dist/{cjs → types}/option/index.d.ts +0 -0
  276. /package/dist/{cjs → types}/option/index.d.ts.map +0 -0
  277. /package/dist/{cjs → types}/resolvers/Resolver.d.ts +0 -0
  278. /package/dist/{cjs → types}/resolvers/Resolver.d.ts.map +0 -0
  279. /package/dist/{cjs → types}/resolvers/ResourceResolver.d.ts +0 -0
  280. /package/dist/{cjs → types}/resolvers/ResourceResolver.d.ts.map +0 -0
  281. /package/dist/{cjs → types}/resolvers/index.d.ts +0 -0
  282. /package/dist/{cjs → types}/resolvers/index.d.ts.map +0 -0
  283. /package/dist/{cjs → types}/session/SessionManager.d.ts +0 -0
  284. /package/dist/{cjs → types}/session/SessionManager.d.ts.map +0 -0
  285. /package/dist/{cjs → types}/session/index.d.ts +0 -0
  286. /package/dist/{cjs → types}/session/index.d.ts.map +0 -0
@@ -0,0 +1,158 @@
1
+ import {Filter} from './Filter';
2
+ import {HttpStatus} from '../codes/HttpStatus';
3
+ import {SimpleBootHttpServer} from '../SimpleBootHttpServer';
4
+ import {RequestResponse} from '../models/RequestResponse';
5
+ import {getUrlMappings} from '../decorators/MethodMapping';
6
+
7
+ type MethodType = {
8
+ summary?: string;
9
+ description?: string;
10
+ operationId?: string;
11
+ parameters?: {
12
+ name: string;
13
+ in: string;
14
+ required: boolean;
15
+ schema: {
16
+ type: string;
17
+ format?: string;
18
+ items?: {
19
+ type: string;
20
+ format?: string;
21
+ }
22
+ }
23
+ }[];
24
+ responses: {
25
+ [code: string]: {
26
+ description: string;
27
+ content?: {
28
+ [type: string]: {
29
+ schema: {
30
+ type: string;
31
+ format?: string;
32
+ items?: {
33
+ type: string;
34
+ format?: string;
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ };
42
+ type PathType = {
43
+ [method: string]: MethodType
44
+ };
45
+ type PathsType = {
46
+ [path: string]: PathType
47
+ };
48
+ export type OpenApiType = {
49
+ openapi: string;
50
+ info?: {
51
+ title?: string;
52
+ description?: string;
53
+ contact?: {
54
+ name?: string;
55
+ email?: string;
56
+ }
57
+ }
58
+ servers?: { url: string }[],
59
+ paths?: PathsType
60
+ components?: {
61
+ schemas?: {
62
+ [key: string]: {
63
+ type: string;
64
+ required?: string[];
65
+ properties?: {
66
+ [key: string]: {
67
+ type: string;
68
+ format?: string;
69
+ items?: {
70
+ type: string;
71
+ format?: string;
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+ securitySchemes?: {
78
+ [key: string]: {
79
+ type: string;
80
+ description?: string;
81
+ in?: string;
82
+ name?: string;
83
+ scheme?: string;
84
+ bearerFormat?: string;
85
+ flows?: {
86
+ [key: string]: {
87
+ authorizationUrl?: string;
88
+ tokenUrl?: string;
89
+ refreshUrl?: string;
90
+ scopes?: {
91
+ [key: string]: {
92
+ description?: string;
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ export type OpenApi3FilterConfig = {
102
+ info?: {
103
+ title?: string;
104
+ description?: string;
105
+ contact?: {
106
+ name?: string;
107
+ email?: string;
108
+ }
109
+ }
110
+ servers?: { url: string }[],
111
+ }
112
+ const DefulatData: OpenApiType = {
113
+ openapi: '3.0.1',
114
+ info: {
115
+ title: 'SimpleBootHttpServer OpenApi3',
116
+ description: 'SimpleBootHttpServer OpenApi3',
117
+ }
118
+ }
119
+
120
+ export class OpenApi3Filter implements Filter {
121
+ private openApiConfig: any;
122
+
123
+ constructor(public config: { path: string, excludePath?: { method: string, path: string }[] }, openApiConfig?: OpenApi3FilterConfig) {
124
+ this.openApiConfig = Object.assign(Object.assign({}, DefulatData), openApiConfig ?? {})
125
+ }
126
+ async onInit(app: SimpleBootHttpServer){
127
+ }
128
+ async proceedBefore({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {
129
+ if (rr.reqUrl === this.config.path) {
130
+ const map = app.routerManager.routingMap();
131
+ // let routers = app.simstanceManager.getSimAtomics().filter((it: SimAtomic) => it.getConfig(RouterMetadataKey));
132
+ const data = {
133
+ paths: {} as PathsType
134
+ } as OpenApiType;
135
+
136
+ Object.entries(map).filter(([k, v]) => typeof v !== 'string').forEach(([k, v]) => {
137
+ const method = data.paths![k] = {} as PathType;
138
+ getUrlMappings(v)?.forEach(it => {
139
+ method[it.config.method] = {
140
+ summary: it.propertyKey,
141
+ description: it.propertyKey
142
+ // operationId: it.operationId,
143
+ // parameters: it.parameters,
144
+ // responses: it.responses,
145
+ } as MethodType
146
+ });
147
+ })
148
+
149
+ rr.resWriteJson(Object.assign(Object.assign({}, this.openApiConfig), data)).resStatusCode(HttpStatus.Ok).resEnd();
150
+ return false;
151
+ }
152
+ return true;
153
+ }
154
+
155
+ async proceedAfter({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {
156
+ return true;
157
+ }
158
+ }
@@ -0,0 +1,72 @@
1
+ import { Filter } from '../filters/Filter';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ import mime from 'mime-types';
5
+ import { HttpHeaders } from '../codes/HttpHeaders';
6
+ import { HttpStatus } from '../codes/HttpStatus';
7
+ import { SimpleBootHttpServer } from '../SimpleBootHttpServer';
8
+ import { RequestResponse } from '../models/RequestResponse';
9
+
10
+ export type RequestFilterType = string | RegExp | ((rr: RequestResponse, app: SimpleBootHttpServer) => boolean) | ((rr: RequestResponse, app: SimpleBootHttpServer) => Promise<boolean>);
11
+
12
+ export class ResourceFilter implements Filter {
13
+ constructor(private resourceDistPath: string, private resourceRegex: (RequestFilterType | { request: RequestFilterType, dist: string })[] = []) {
14
+ }
15
+
16
+ async onInit(app: SimpleBootHttpServer) {
17
+ }
18
+
19
+ async proceedBefore({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {
20
+ const url = (rr.reqUrlPathName ?? '').replace(/\.\./g, '');
21
+ const urlObj = rr.reqUrlObject;
22
+ // const requestUrl = parse(rr.reqUrl ?? '', true);
23
+ let sw = true;
24
+ const regExps = this.resourceRegex.filter(it => {
25
+ if (it instanceof RegExp) {
26
+ return it.test(url);
27
+ }
28
+
29
+ if (typeof it === 'string') {
30
+ return RegExp(it).test(url);
31
+ }
32
+
33
+ if (typeof it === 'function') {
34
+ return it(rr, app);
35
+ }
36
+
37
+ if (typeof it === 'object' && 'request' in it) {
38
+ if (typeof it.request === 'function') {
39
+ return it.request(rr, app);
40
+ }
41
+ return RegExp(it.request).test(url);
42
+ }
43
+ })
44
+ // console.log('regExps', regExps, url, this.resourceRegex);
45
+ // eslint-disable-next-line no-unused-vars
46
+ for (const it of regExps) {
47
+ const resourcePath = path.join(this.resourceDistPath, typeof it === 'object' && 'dist' in it ? it.dist : urlObj.pathname);
48
+ // console.log('ResourceFilter', resourcePath, it, urlObj.pathname, url);
49
+ sw = false;
50
+ // console.log('-----', resourcePath);
51
+ if (fs.existsSync(resourcePath)) {
52
+ // const header = {} as any;
53
+ // header[HttpHeaders.ContentType] = mime.lookup(resourcePath);
54
+ // res.writeHead(HttpStatus.Ok, header);
55
+ rr.resStatusCode(HttpStatus.Ok);
56
+ rr.resSetHeader(HttpHeaders.ContentType, mime.lookup(resourcePath).toString());
57
+ await rr.resEnd(fs.readFileSync(resourcePath));
58
+ break;
59
+ } else {
60
+ rr.resStatusCode(HttpStatus.NotFound)
61
+ await rr.resEnd();
62
+ break;
63
+ }
64
+ sw = false;
65
+ }
66
+ return sw;
67
+ }
68
+
69
+ async proceedAfter({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {
70
+ return true;
71
+ }
72
+ }
@@ -0,0 +1,23 @@
1
+ import { Filter } from '../filters/Filter';
2
+ import { RequestResponse } from '../models/RequestResponse';
3
+ import {SimpleBootHttpServer} from '../SimpleBootHttpServer';
4
+
5
+ export class ThrowFilter implements Filter {
6
+ constructor(private error: any) {
7
+ }
8
+
9
+ async onInit(app: SimpleBootHttpServer){
10
+ }
11
+
12
+ async proceedBefore({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {
13
+ return true;
14
+ }
15
+
16
+ async proceedAfter({rr, app}: {rr: RequestResponse, app: SimpleBootHttpServer, carrier: Map<string, any>}) {
17
+ const sw = rr.resIsDone();
18
+ if (!sw) {
19
+ throw this.error;
20
+ };
21
+ return false;
22
+ }
23
+ }
@@ -4,4 +4,3 @@ export * from './HttpStatusFilter';
4
4
  export * from './OpenApi3Filter';
5
5
  export * from './ResourceFilter';
6
6
  export * from './ThrowFilter';
7
- //# sourceMappingURL=index.d.ts.map
package/src/index.ts ADDED
@@ -0,0 +1,13 @@
1
+ // export * from './codes';
2
+ // export * from './decorators';
3
+ // export * from './endpoints';
4
+ // export * from './errors';
5
+ // export * from './filters';
6
+ // export * from './inject';
7
+ // export * from './lifecycle';
8
+ // export * from './models';
9
+ // export * from './option';
10
+ // export * from './resolvers';
11
+ // export * from './session';
12
+ // export * from './SimpleBootHttpServer';
13
+ export default {}
@@ -0,0 +1,3 @@
1
+ export namespace InjectSituationType {
2
+ export const TransactionManager = Symbol('TransactionManager');
3
+ }
@@ -1,2 +1 @@
1
1
  export * from './InjectSituationType';
2
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,5 @@
1
+ import {SimpleBootHttpServer} from '../SimpleBootHttpServer';
2
+
3
+ export interface OnInit {
4
+ onInit(app: SimpleBootHttpServer): Promise<void>;
5
+ }
@@ -0,0 +1 @@
1
+ export * from './OnInit';