@dooboostore/simple-boot-http-server 1.0.18 → 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 (431) hide show
  1. package/dist/cjs/SimpleBootHttpServer.js +51 -673
  2. package/dist/cjs/SimpleBootHttpServer.js.map +4 -4
  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 -44
  6. package/dist/cjs/codes/HttpHeaders.js.map +3 -3
  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.js +51 -53
  16. package/dist/cjs/decorators/MethodMapping.js.map +2 -2
  17. package/dist/cjs/decorators/index.js +3 -248
  18. package/dist/cjs/decorators/index.js.map +4 -4
  19. package/dist/cjs/endpoints/CrossDomainHeaderEndPoint.js +7 -8
  20. package/dist/cjs/endpoints/CrossDomainHeaderEndPoint.js.map +1 -1
  21. package/dist/cjs/endpoints/EndPoint.js +0 -2
  22. package/dist/cjs/endpoints/EndPoint.js.map +1 -1
  23. package/dist/cjs/endpoints/HeaderEndPoint.js +2 -4
  24. package/dist/cjs/endpoints/HeaderEndPoint.js.map +1 -1
  25. package/dist/cjs/endpoints/index.js +7 -54
  26. package/dist/cjs/endpoints/index.js.map +3 -3
  27. package/dist/cjs/errors/BadRequestError.js +5 -16
  28. package/dist/cjs/errors/BadRequestError.js.map +3 -3
  29. package/dist/cjs/errors/ForbiddenError.js +5 -16
  30. package/dist/cjs/errors/ForbiddenError.js.map +3 -3
  31. package/dist/cjs/errors/HttpError.js +2 -4
  32. package/dist/cjs/errors/HttpError.js.map +1 -1
  33. package/dist/cjs/errors/InternalServerError.js +5 -16
  34. package/dist/cjs/errors/InternalServerError.js.map +3 -3
  35. package/dist/cjs/errors/NotFoundError.js +5 -16
  36. package/dist/cjs/errors/NotFoundError.js.map +3 -3
  37. package/dist/cjs/errors/UnauthorizedError.js +5 -16
  38. package/dist/cjs/errors/UnauthorizedError.js.map +3 -3
  39. package/dist/cjs/errors/index.js +13 -64
  40. package/dist/cjs/errors/index.js.map +3 -3
  41. package/dist/cjs/filters/CacheFilter.js +11 -13
  42. package/dist/cjs/filters/CacheFilter.js.map +2 -2
  43. package/dist/cjs/filters/Filter.js +0 -2
  44. package/dist/cjs/filters/Filter.js.map +1 -1
  45. package/dist/cjs/filters/HttpStatusFilter.js +2 -4
  46. package/dist/cjs/filters/HttpStatusFilter.js.map +1 -1
  47. package/dist/cjs/filters/OpenApi3Filter.js +7 -20
  48. package/dist/cjs/filters/OpenApi3Filter.js.map +3 -3
  49. package/dist/cjs/filters/ResourceFilter.js +7 -7
  50. package/dist/cjs/filters/ResourceFilter.js.map +1 -1
  51. package/dist/cjs/filters/ThrowFilter.js +2 -4
  52. package/dist/cjs/filters/ThrowFilter.js.map +1 -1
  53. package/dist/cjs/filters/index.js +13 -299
  54. package/dist/cjs/filters/index.js.map +4 -4
  55. package/dist/cjs/index.js +2 -1734
  56. package/dist/cjs/index.js.map +4 -4
  57. package/dist/cjs/inject/InjectSituationType.js +0 -2
  58. package/dist/cjs/inject/InjectSituationType.js.map +1 -1
  59. package/dist/cjs/inject/index.js +3 -16
  60. package/dist/cjs/inject/index.js.map +4 -4
  61. package/dist/cjs/lifecycle/OnInit.js +0 -2
  62. package/dist/cjs/lifecycle/OnInit.js.map +1 -1
  63. package/dist/cjs/lifecycle/index.js +6 -2
  64. package/dist/cjs/lifecycle/index.js.map +1 -1
  65. package/dist/cjs/models/RequestResponse.js +21 -33
  66. package/dist/cjs/models/RequestResponse.js.map +3 -3
  67. package/dist/cjs/models/datas/HeaderData.js +2 -4
  68. package/dist/cjs/models/datas/HeaderData.js.map +1 -1
  69. package/dist/cjs/models/datas/MultipartData.js +0 -2
  70. package/dist/cjs/models/datas/MultipartData.js.map +1 -1
  71. package/dist/cjs/models/datas/ReqHeader.js +2 -4
  72. package/dist/cjs/models/datas/ReqHeader.js.map +1 -1
  73. package/dist/cjs/models/datas/Resource.js +8 -480
  74. package/dist/cjs/models/datas/Resource.js.map +4 -4
  75. package/dist/cjs/models/datas/body/ReqFormUrlBody.js +2 -4
  76. package/dist/cjs/models/datas/body/ReqFormUrlBody.js.map +1 -1
  77. package/dist/cjs/models/datas/body/ReqJsonBody.js +2 -4
  78. package/dist/cjs/models/datas/body/ReqJsonBody.js.map +1 -1
  79. package/dist/cjs/models/datas/body/ReqMultipartFormBody.js +2 -4
  80. package/dist/cjs/models/datas/body/ReqMultipartFormBody.js.map +1 -1
  81. package/dist/cjs/models/index.js +19 -574
  82. package/dist/cjs/models/index.js.map +4 -4
  83. package/dist/cjs/models/method/patch/PatchJson.js +2 -4
  84. package/dist/cjs/models/method/patch/PatchJson.js.map +1 -1
  85. package/dist/cjs/option/HttpServerOption.js +3 -5
  86. package/dist/cjs/option/HttpServerOption.js.map +1 -1
  87. package/dist/cjs/option/index.js +3 -50
  88. package/dist/cjs/option/index.js.map +3 -3
  89. package/dist/cjs/resolvers/Resolver.js +0 -2
  90. package/dist/cjs/resolvers/Resolver.js.map +1 -1
  91. package/dist/cjs/resolvers/ResourceResolver.js +10 -538
  92. package/dist/cjs/resolvers/ResourceResolver.js.map +4 -4
  93. package/dist/cjs/resolvers/index.js +5 -552
  94. package/dist/cjs/resolvers/index.js.map +4 -4
  95. package/dist/cjs/session/SessionManager.js +4 -478
  96. package/dist/cjs/session/SessionManager.js.map +4 -4
  97. package/dist/cjs/session/index.js +3 -560
  98. package/dist/cjs/session/index.js.map +4 -4
  99. package/dist/esm/SimpleBootHttpServer.js +35 -656
  100. package/dist/esm/SimpleBootHttpServer.js.map +4 -4
  101. package/dist/esm/bundle-entry.js +13 -0
  102. package/dist/esm/bundle-entry.js.map +7 -0
  103. package/dist/esm/codes/HttpHeaders.js +42 -43
  104. package/dist/esm/codes/HttpHeaders.js.map +3 -3
  105. package/dist/esm/codes/HttpMethod.js +0 -1
  106. package/dist/esm/codes/HttpMethod.js.map +1 -1
  107. package/dist/esm/codes/HttpStatus.js +0 -1
  108. package/dist/esm/codes/HttpStatus.js.map +1 -1
  109. package/dist/esm/codes/Mimes.js +0 -1
  110. package/dist/esm/codes/Mimes.js.map +1 -1
  111. package/dist/esm/codes/index.js +4 -115
  112. package/dist/esm/codes/index.js.map +4 -4
  113. package/dist/esm/decorators/MethodMapping.js +51 -52
  114. package/dist/esm/decorators/MethodMapping.js.map +2 -2
  115. package/dist/esm/decorators/index.js +1 -210
  116. package/dist/esm/decorators/index.js.map +4 -4
  117. package/dist/esm/endpoints/CrossDomainHeaderEndPoint.js +7 -7
  118. package/dist/esm/endpoints/CrossDomainHeaderEndPoint.js.map +1 -1
  119. package/dist/esm/endpoints/HeaderEndPoint.js +2 -3
  120. package/dist/esm/endpoints/HeaderEndPoint.js.map +1 -1
  121. package/dist/esm/endpoints/index.js +3 -45
  122. package/dist/esm/endpoints/index.js.map +3 -3
  123. package/dist/esm/errors/BadRequestError.js +5 -13
  124. package/dist/esm/errors/BadRequestError.js.map +3 -3
  125. package/dist/esm/errors/ForbiddenError.js +5 -13
  126. package/dist/esm/errors/ForbiddenError.js.map +3 -3
  127. package/dist/esm/errors/HttpError.js +2 -3
  128. package/dist/esm/errors/HttpError.js.map +1 -1
  129. package/dist/esm/errors/InternalServerError.js +5 -13
  130. package/dist/esm/errors/InternalServerError.js.map +3 -3
  131. package/dist/esm/errors/NotFoundError.js +5 -13
  132. package/dist/esm/errors/NotFoundError.js.map +3 -3
  133. package/dist/esm/errors/UnauthorizedError.js +5 -13
  134. package/dist/esm/errors/UnauthorizedError.js.map +3 -3
  135. package/dist/esm/errors/index.js +6 -51
  136. package/dist/esm/errors/index.js.map +3 -3
  137. package/dist/esm/filters/CacheFilter.js +11 -12
  138. package/dist/esm/filters/CacheFilter.js.map +2 -2
  139. package/dist/esm/filters/HttpStatusFilter.js +2 -3
  140. package/dist/esm/filters/HttpStatusFilter.js.map +1 -1
  141. package/dist/esm/filters/OpenApi3Filter.js +6 -16
  142. package/dist/esm/filters/OpenApi3Filter.js.map +3 -3
  143. package/dist/esm/filters/ResourceFilter.js +7 -6
  144. package/dist/esm/filters/ResourceFilter.js.map +1 -1
  145. package/dist/esm/filters/ThrowFilter.js +2 -3
  146. package/dist/esm/filters/ThrowFilter.js.map +1 -1
  147. package/dist/esm/filters/index.js +6 -277
  148. package/dist/esm/filters/index.js.map +4 -4
  149. package/dist/esm/index.js +2 -1659
  150. package/dist/esm/index.js.map +4 -4
  151. package/dist/esm/inject/InjectSituationType.js +0 -1
  152. package/dist/esm/inject/InjectSituationType.js.map +1 -1
  153. package/dist/esm/inject/index.js +1 -8
  154. package/dist/esm/inject/index.js.map +4 -4
  155. package/dist/esm/lifecycle/index.js +1 -0
  156. package/dist/esm/lifecycle/index.js.map +3 -3
  157. package/dist/esm/models/RequestResponse.js +18 -29
  158. package/dist/esm/models/RequestResponse.js.map +3 -3
  159. package/dist/esm/models/datas/HeaderData.js +2 -3
  160. package/dist/esm/models/datas/HeaderData.js.map +1 -1
  161. package/dist/esm/models/datas/ReqHeader.js +2 -3
  162. package/dist/esm/models/datas/ReqHeader.js.map +1 -1
  163. package/dist/esm/models/datas/Resource.js +7 -478
  164. package/dist/esm/models/datas/Resource.js.map +4 -4
  165. package/dist/esm/models/datas/body/ReqFormUrlBody.js +2 -3
  166. package/dist/esm/models/datas/body/ReqFormUrlBody.js.map +1 -1
  167. package/dist/esm/models/datas/body/ReqJsonBody.js +2 -3
  168. package/dist/esm/models/datas/body/ReqJsonBody.js.map +1 -1
  169. package/dist/esm/models/datas/body/ReqMultipartFormBody.js +2 -3
  170. package/dist/esm/models/datas/body/ReqMultipartFormBody.js.map +1 -1
  171. package/dist/esm/models/index.js +9 -548
  172. package/dist/esm/models/index.js.map +4 -4
  173. package/dist/esm/models/method/patch/PatchJson.js +2 -3
  174. package/dist/esm/models/method/patch/PatchJson.js.map +1 -1
  175. package/dist/esm/option/HttpServerOption.js +3 -4
  176. package/dist/esm/option/HttpServerOption.js.map +1 -1
  177. package/dist/esm/option/index.js +1 -42
  178. package/dist/esm/option/index.js.map +3 -3
  179. package/dist/esm/resolvers/ResourceResolver.js +8 -526
  180. package/dist/esm/resolvers/ResourceResolver.js.map +4 -4
  181. package/dist/esm/resolvers/index.js +2 -537
  182. package/dist/esm/resolvers/index.js.map +4 -4
  183. package/dist/esm/session/SessionManager.js +3 -476
  184. package/dist/esm/session/SessionManager.js.map +3 -3
  185. package/dist/esm/session/index.js +1 -552
  186. package/dist/esm/session/index.js.map +3 -3
  187. package/dist/esm-bundle/dooboostore-simple-boot-http-server.esm.js +14976 -1243
  188. package/dist/esm-bundle/dooboostore-simple-boot-http-server.esm.js.map +4 -4
  189. package/dist/{cjs → types}/SimpleBootHttpServer.d.ts +2 -1
  190. package/dist/types/SimpleBootHttpServer.d.ts.map +1 -0
  191. package/dist/{cjs/index.d.ts → types/bundle-entry.d.ts} +2 -2
  192. package/dist/types/bundle-entry.d.ts.map +1 -0
  193. package/dist/types/codes/HttpHeaders.d.ts +43 -0
  194. package/dist/types/codes/HttpHeaders.d.ts.map +1 -0
  195. package/dist/{cjs → types}/decorators/MethodMapping.d.ts +0 -1
  196. package/dist/types/decorators/MethodMapping.d.ts.map +1 -0
  197. package/dist/types/index.d.ts +41 -0
  198. package/dist/types/index.d.ts.map +1 -0
  199. package/dist/{esm → types}/models/RequestResponse.d.ts +7 -7
  200. package/dist/types/models/RequestResponse.d.ts.map +1 -0
  201. package/dist/umd-bundle/dooboostore-simple-boot-http-server.umd.js +15140 -1433
  202. package/dist/umd-bundle/dooboostore-simple-boot-http-server.umd.js.map +4 -4
  203. package/package.json +36 -22
  204. package/src/SimpleBootHttpServer.ts +330 -0
  205. package/{dist/esm/index.d.ts → src/bundle-entry.ts} +1 -2
  206. package/src/codes/HttpHeaders.ts +43 -0
  207. package/src/codes/HttpMethod.ts +11 -0
  208. package/{dist/esm/codes/HttpStatus.d.ts → src/codes/HttpStatus.ts} +2 -2
  209. package/src/codes/Mimes.ts +27 -0
  210. package/{dist/esm/codes/index.d.ts → src/codes/index.ts} +0 -1
  211. package/src/decorators/MethodMapping.ts +233 -0
  212. package/src/decorators/index.ts +1 -0
  213. package/src/endpoints/CrossDomainHeaderEndPoint.ts +38 -0
  214. package/src/endpoints/EndPoint.ts +7 -0
  215. package/src/endpoints/HeaderEndPoint.ts +17 -0
  216. package/{dist/esm/endpoints/index.d.ts → src/endpoints/index.ts} +0 -1
  217. package/src/errors/BadRequestError.ts +8 -0
  218. package/src/errors/ForbiddenError.ts +8 -0
  219. package/src/errors/HttpError.ts +14 -0
  220. package/src/errors/InternalServerError.ts +8 -0
  221. package/src/errors/NotFoundError.ts +8 -0
  222. package/src/errors/UnauthorizedError.ts +8 -0
  223. package/{dist/esm/errors/index.d.ts → src/errors/index.ts} +0 -1
  224. package/src/filters/CacheFilter.ts +169 -0
  225. package/src/filters/Filter.ts +10 -0
  226. package/src/filters/HttpStatusFilter.ts +24 -0
  227. package/src/filters/OpenApi3Filter.ts +158 -0
  228. package/src/filters/ResourceFilter.ts +72 -0
  229. package/src/filters/ThrowFilter.ts +23 -0
  230. package/{dist/esm/filters/index.d.ts → src/filters/index.ts} +0 -1
  231. package/src/index.ts +13 -0
  232. package/src/inject/InjectSituationType.ts +3 -0
  233. package/{dist/esm/inject/index.d.ts → src/inject/index.ts} +0 -1
  234. package/src/lifecycle/OnInit.ts +5 -0
  235. package/src/lifecycle/index.ts +1 -0
  236. package/src/models/RequestResponse.ts +658 -0
  237. package/src/models/datas/HeaderData.ts +4 -0
  238. package/src/models/datas/MultipartData.ts +27 -0
  239. package/{dist/esm/models/datas/ReqHeader.d.ts → src/models/datas/ReqHeader.ts} +5 -4
  240. package/src/models/datas/Resource.ts +44 -0
  241. package/src/models/datas/body/ReqFormUrlBody.ts +3 -0
  242. package/src/models/datas/body/ReqJsonBody.ts +3 -0
  243. package/src/models/datas/body/ReqMultipartFormBody.ts +6 -0
  244. package/{dist/esm/models/index.d.ts → src/models/index.ts} +0 -1
  245. package/src/models/method/patch/PatchJson.ts +46 -0
  246. package/src/option/HttpServerOption.ts +81 -0
  247. package/{dist/esm/option/index.d.ts → src/option/index.ts} +0 -1
  248. package/src/resolvers/Resolver.ts +5 -0
  249. package/src/resolvers/ResourceResolver.ts +11 -0
  250. package/{dist/esm/resolvers/index.d.ts → src/resolvers/index.ts} +0 -1
  251. package/src/session/SessionManager.ts +89 -0
  252. package/src/session/index.ts +1 -0
  253. package/tsconfig.json +23 -0
  254. package/dist/cjs/SimpleBootHttpServer.d.ts.map +0 -1
  255. package/dist/cjs/codes/HttpHeaders.d.ts +0 -42
  256. package/dist/cjs/codes/HttpHeaders.d.ts.map +0 -1
  257. package/dist/cjs/decorators/MethodMapping.d.ts.map +0 -1
  258. package/dist/cjs/index.d.ts.map +0 -1
  259. package/dist/cjs/models/RequestResponse.d.ts +0 -100
  260. package/dist/cjs/models/RequestResponse.d.ts.map +0 -1
  261. package/dist/cjs/package.json +0 -3
  262. package/dist/esm/SimpleBootHttpServer.d.ts +0 -14
  263. package/dist/esm/SimpleBootHttpServer.d.ts.map +0 -1
  264. package/dist/esm/codes/HttpHeaders.d.ts +0 -42
  265. package/dist/esm/codes/HttpHeaders.d.ts.map +0 -1
  266. package/dist/esm/codes/HttpMethod.d.ts +0 -12
  267. package/dist/esm/codes/HttpMethod.d.ts.map +0 -1
  268. package/dist/esm/codes/HttpStatus.d.ts.map +0 -1
  269. package/dist/esm/codes/Mimes.d.ts +0 -28
  270. package/dist/esm/codes/Mimes.d.ts.map +0 -1
  271. package/dist/esm/codes/index.d.ts.map +0 -1
  272. package/dist/esm/decorators/MethodMapping.d.ts +0 -74
  273. package/dist/esm/decorators/MethodMapping.d.ts.map +0 -1
  274. package/dist/esm/decorators/index.d.ts +0 -2
  275. package/dist/esm/decorators/index.d.ts.map +0 -1
  276. package/dist/esm/endpoints/CrossDomainHeaderEndPoint.d.ts +0 -16
  277. package/dist/esm/endpoints/CrossDomainHeaderEndPoint.d.ts.map +0 -1
  278. package/dist/esm/endpoints/EndPoint.d.ts +0 -7
  279. package/dist/esm/endpoints/EndPoint.d.ts.map +0 -1
  280. package/dist/esm/endpoints/HeaderEndPoint.d.ts +0 -12
  281. package/dist/esm/endpoints/HeaderEndPoint.d.ts.map +0 -1
  282. package/dist/esm/endpoints/index.d.ts.map +0 -1
  283. package/dist/esm/errors/BadRequestError.d.ts +0 -8
  284. package/dist/esm/errors/BadRequestError.d.ts.map +0 -1
  285. package/dist/esm/errors/ForbiddenError.d.ts +0 -8
  286. package/dist/esm/errors/ForbiddenError.d.ts.map +0 -1
  287. package/dist/esm/errors/HttpError.d.ts +0 -12
  288. package/dist/esm/errors/HttpError.d.ts.map +0 -1
  289. package/dist/esm/errors/InternalServerError.d.ts +0 -8
  290. package/dist/esm/errors/InternalServerError.d.ts.map +0 -1
  291. package/dist/esm/errors/NotFoundError.d.ts +0 -8
  292. package/dist/esm/errors/NotFoundError.d.ts.map +0 -1
  293. package/dist/esm/errors/UnauthorizedError.d.ts +0 -8
  294. package/dist/esm/errors/UnauthorizedError.d.ts.map +0 -1
  295. package/dist/esm/errors/index.d.ts.map +0 -1
  296. package/dist/esm/filters/CacheFilter.d.ts +0 -45
  297. package/dist/esm/filters/CacheFilter.d.ts.map +0 -1
  298. package/dist/esm/filters/Filter.d.ts +0 -17
  299. package/dist/esm/filters/Filter.d.ts.map +0 -1
  300. package/dist/esm/filters/HttpStatusFilter.d.ts +0 -20
  301. package/dist/esm/filters/HttpStatusFilter.d.ts.map +0 -1
  302. package/dist/esm/filters/OpenApi3Filter.d.ts +0 -142
  303. package/dist/esm/filters/OpenApi3Filter.d.ts.map +0 -1
  304. package/dist/esm/filters/ResourceFilter.d.ts +0 -24
  305. package/dist/esm/filters/ResourceFilter.d.ts.map +0 -1
  306. package/dist/esm/filters/ThrowFilter.d.ts +0 -19
  307. package/dist/esm/filters/ThrowFilter.d.ts.map +0 -1
  308. package/dist/esm/filters/index.d.ts.map +0 -1
  309. package/dist/esm/index.d.ts.map +0 -1
  310. package/dist/esm/inject/InjectSituationType.d.ts +0 -4
  311. package/dist/esm/inject/InjectSituationType.d.ts.map +0 -1
  312. package/dist/esm/inject/index.d.ts.map +0 -1
  313. package/dist/esm/lifecycle/OnInit.d.ts +0 -5
  314. package/dist/esm/lifecycle/OnInit.d.ts.map +0 -1
  315. package/dist/esm/lifecycle/index.d.ts +0 -2
  316. package/dist/esm/lifecycle/index.d.ts.map +0 -1
  317. package/dist/esm/models/RequestResponse.d.ts.map +0 -1
  318. package/dist/esm/models/datas/HeaderData.d.ts +0 -10
  319. package/dist/esm/models/datas/HeaderData.d.ts.map +0 -1
  320. package/dist/esm/models/datas/MultipartData.d.ts +0 -12
  321. package/dist/esm/models/datas/MultipartData.d.ts.map +0 -1
  322. package/dist/esm/models/datas/ReqHeader.d.ts.map +0 -1
  323. package/dist/esm/models/datas/Resource.d.ts +0 -11
  324. package/dist/esm/models/datas/Resource.d.ts.map +0 -1
  325. package/dist/esm/models/datas/body/ReqFormUrlBody.d.ts +0 -4
  326. package/dist/esm/models/datas/body/ReqFormUrlBody.d.ts.map +0 -1
  327. package/dist/esm/models/datas/body/ReqJsonBody.d.ts +0 -4
  328. package/dist/esm/models/datas/body/ReqJsonBody.d.ts.map +0 -1
  329. package/dist/esm/models/datas/body/ReqMultipartFormBody.d.ts +0 -6
  330. package/dist/esm/models/datas/body/ReqMultipartFormBody.d.ts.map +0 -1
  331. package/dist/esm/models/index.d.ts.map +0 -1
  332. package/dist/esm/models/method/patch/PatchJson.d.ts +0 -8
  333. package/dist/esm/models/method/patch/PatchJson.d.ts.map +0 -1
  334. package/dist/esm/option/HttpServerOption.d.ts +0 -83
  335. package/dist/esm/option/HttpServerOption.d.ts.map +0 -1
  336. package/dist/esm/option/index.d.ts.map +0 -1
  337. package/dist/esm/resolvers/Resolver.d.ts +0 -5
  338. package/dist/esm/resolvers/Resolver.d.ts.map +0 -1
  339. package/dist/esm/resolvers/ResourceResolver.d.ts +0 -6
  340. package/dist/esm/resolvers/ResourceResolver.d.ts.map +0 -1
  341. package/dist/esm/resolvers/index.d.ts.map +0 -1
  342. package/dist/esm/session/SessionManager.d.ts +0 -57
  343. package/dist/esm/session/SessionManager.d.ts.map +0 -1
  344. package/dist/esm/session/index.d.ts +0 -2
  345. package/dist/esm/session/index.d.ts.map +0 -1
  346. /package/dist/{cjs → types}/codes/HttpMethod.d.ts +0 -0
  347. /package/dist/{cjs → types}/codes/HttpMethod.d.ts.map +0 -0
  348. /package/dist/{cjs → types}/codes/HttpStatus.d.ts +0 -0
  349. /package/dist/{cjs → types}/codes/HttpStatus.d.ts.map +0 -0
  350. /package/dist/{cjs → types}/codes/Mimes.d.ts +0 -0
  351. /package/dist/{cjs → types}/codes/Mimes.d.ts.map +0 -0
  352. /package/dist/{cjs → types}/codes/index.d.ts +0 -0
  353. /package/dist/{cjs → types}/codes/index.d.ts.map +0 -0
  354. /package/dist/{cjs → types}/decorators/index.d.ts +0 -0
  355. /package/dist/{cjs → types}/decorators/index.d.ts.map +0 -0
  356. /package/dist/{cjs → types}/endpoints/CrossDomainHeaderEndPoint.d.ts +0 -0
  357. /package/dist/{cjs → types}/endpoints/CrossDomainHeaderEndPoint.d.ts.map +0 -0
  358. /package/dist/{cjs → types}/endpoints/EndPoint.d.ts +0 -0
  359. /package/dist/{cjs → types}/endpoints/EndPoint.d.ts.map +0 -0
  360. /package/dist/{cjs → types}/endpoints/HeaderEndPoint.d.ts +0 -0
  361. /package/dist/{cjs → types}/endpoints/HeaderEndPoint.d.ts.map +0 -0
  362. /package/dist/{cjs → types}/endpoints/index.d.ts +0 -0
  363. /package/dist/{cjs → types}/endpoints/index.d.ts.map +0 -0
  364. /package/dist/{cjs → types}/errors/BadRequestError.d.ts +0 -0
  365. /package/dist/{cjs → types}/errors/BadRequestError.d.ts.map +0 -0
  366. /package/dist/{cjs → types}/errors/ForbiddenError.d.ts +0 -0
  367. /package/dist/{cjs → types}/errors/ForbiddenError.d.ts.map +0 -0
  368. /package/dist/{cjs → types}/errors/HttpError.d.ts +0 -0
  369. /package/dist/{cjs → types}/errors/HttpError.d.ts.map +0 -0
  370. /package/dist/{cjs → types}/errors/InternalServerError.d.ts +0 -0
  371. /package/dist/{cjs → types}/errors/InternalServerError.d.ts.map +0 -0
  372. /package/dist/{cjs → types}/errors/NotFoundError.d.ts +0 -0
  373. /package/dist/{cjs → types}/errors/NotFoundError.d.ts.map +0 -0
  374. /package/dist/{cjs → types}/errors/UnauthorizedError.d.ts +0 -0
  375. /package/dist/{cjs → types}/errors/UnauthorizedError.d.ts.map +0 -0
  376. /package/dist/{cjs → types}/errors/index.d.ts +0 -0
  377. /package/dist/{cjs → types}/errors/index.d.ts.map +0 -0
  378. /package/dist/{cjs → types}/filters/CacheFilter.d.ts +0 -0
  379. /package/dist/{cjs → types}/filters/CacheFilter.d.ts.map +0 -0
  380. /package/dist/{cjs → types}/filters/Filter.d.ts +0 -0
  381. /package/dist/{cjs → types}/filters/Filter.d.ts.map +0 -0
  382. /package/dist/{cjs → types}/filters/HttpStatusFilter.d.ts +0 -0
  383. /package/dist/{cjs → types}/filters/HttpStatusFilter.d.ts.map +0 -0
  384. /package/dist/{cjs → types}/filters/OpenApi3Filter.d.ts +0 -0
  385. /package/dist/{cjs → types}/filters/OpenApi3Filter.d.ts.map +0 -0
  386. /package/dist/{cjs → types}/filters/ResourceFilter.d.ts +0 -0
  387. /package/dist/{cjs → types}/filters/ResourceFilter.d.ts.map +0 -0
  388. /package/dist/{cjs → types}/filters/ThrowFilter.d.ts +0 -0
  389. /package/dist/{cjs → types}/filters/ThrowFilter.d.ts.map +0 -0
  390. /package/dist/{cjs → types}/filters/index.d.ts +0 -0
  391. /package/dist/{cjs → types}/filters/index.d.ts.map +0 -0
  392. /package/dist/{cjs → types}/inject/InjectSituationType.d.ts +0 -0
  393. /package/dist/{cjs → types}/inject/InjectSituationType.d.ts.map +0 -0
  394. /package/dist/{cjs → types}/inject/index.d.ts +0 -0
  395. /package/dist/{cjs → types}/inject/index.d.ts.map +0 -0
  396. /package/dist/{cjs → types}/lifecycle/OnInit.d.ts +0 -0
  397. /package/dist/{cjs → types}/lifecycle/OnInit.d.ts.map +0 -0
  398. /package/dist/{cjs → types}/lifecycle/index.d.ts +0 -0
  399. /package/dist/{cjs → types}/lifecycle/index.d.ts.map +0 -0
  400. /package/dist/{cjs → types}/models/datas/HeaderData.d.ts +0 -0
  401. /package/dist/{cjs → types}/models/datas/HeaderData.d.ts.map +0 -0
  402. /package/dist/{cjs → types}/models/datas/MultipartData.d.ts +0 -0
  403. /package/dist/{cjs → types}/models/datas/MultipartData.d.ts.map +0 -0
  404. /package/dist/{cjs → types}/models/datas/ReqHeader.d.ts +0 -0
  405. /package/dist/{cjs → types}/models/datas/ReqHeader.d.ts.map +0 -0
  406. /package/dist/{cjs → types}/models/datas/Resource.d.ts +0 -0
  407. /package/dist/{cjs → types}/models/datas/Resource.d.ts.map +0 -0
  408. /package/dist/{cjs → types}/models/datas/body/ReqFormUrlBody.d.ts +0 -0
  409. /package/dist/{cjs → types}/models/datas/body/ReqFormUrlBody.d.ts.map +0 -0
  410. /package/dist/{cjs → types}/models/datas/body/ReqJsonBody.d.ts +0 -0
  411. /package/dist/{cjs → types}/models/datas/body/ReqJsonBody.d.ts.map +0 -0
  412. /package/dist/{cjs → types}/models/datas/body/ReqMultipartFormBody.d.ts +0 -0
  413. /package/dist/{cjs → types}/models/datas/body/ReqMultipartFormBody.d.ts.map +0 -0
  414. /package/dist/{cjs → types}/models/index.d.ts +0 -0
  415. /package/dist/{cjs → types}/models/index.d.ts.map +0 -0
  416. /package/dist/{cjs → types}/models/method/patch/PatchJson.d.ts +0 -0
  417. /package/dist/{cjs → types}/models/method/patch/PatchJson.d.ts.map +0 -0
  418. /package/dist/{cjs → types}/option/HttpServerOption.d.ts +0 -0
  419. /package/dist/{cjs → types}/option/HttpServerOption.d.ts.map +0 -0
  420. /package/dist/{cjs → types}/option/index.d.ts +0 -0
  421. /package/dist/{cjs → types}/option/index.d.ts.map +0 -0
  422. /package/dist/{cjs → types}/resolvers/Resolver.d.ts +0 -0
  423. /package/dist/{cjs → types}/resolvers/Resolver.d.ts.map +0 -0
  424. /package/dist/{cjs → types}/resolvers/ResourceResolver.d.ts +0 -0
  425. /package/dist/{cjs → types}/resolvers/ResourceResolver.d.ts.map +0 -0
  426. /package/dist/{cjs → types}/resolvers/index.d.ts +0 -0
  427. /package/dist/{cjs → types}/resolvers/index.d.ts.map +0 -0
  428. /package/dist/{cjs → types}/session/SessionManager.d.ts +0 -0
  429. /package/dist/{cjs → types}/session/SessionManager.d.ts.map +0 -0
  430. /package/dist/{cjs → types}/session/index.d.ts +0 -0
  431. /package/dist/{cjs → types}/session/index.d.ts.map +0 -0
@@ -1,650 +1,29 @@
1
- // src/SimpleBootHttpServer.ts
2
1
  import { SimpleApplication } from "@dooboostore/simple-boot/SimpleApplication";
3
-
4
- // src/option/HttpServerOption.ts
5
- import { SimOption } from "@dooboostore/simple-boot/SimOption";
6
- var HttpServerOption = class _HttpServerOption extends SimOption {
7
- static {
8
- this.DEFAULT_PORT = 8081;
9
- }
10
- static {
11
- this.DEFAULT_HOSTNAME = "127.0.0.1";
12
- }
13
- constructor({ serverOption, listen, filters, requestEndPoints, closeEndPoints, errorEndPoints, sessionOption, globalAdvice, fileUploadTempPath, noSuchRouteEndPointMappingThrow, transactionManagerFactory } = {}, initSimOption) {
14
- super(initSimOption);
15
- this.serverOption = serverOption;
16
- this.listen = Object.assign({ port: _HttpServerOption.DEFAULT_PORT, hostname: _HttpServerOption.DEFAULT_HOSTNAME }, listen);
17
- this.filters = filters;
18
- this.requestEndPoints = requestEndPoints;
19
- this.closeEndPoints = closeEndPoints;
20
- this.errorEndPoints = errorEndPoints;
21
- this.sessionOption = Object.assign({ key: "SBSESSIONID", expiredTime: 1e3 * 60 * 30 }, sessionOption);
22
- this.globalAdvice = globalAdvice;
23
- this.fileUploadTempPath = fileUploadTempPath;
24
- this.noSuchRouteEndPointMappingThrow = noSuchRouteEndPointMappingThrow;
25
- this.transactionManagerFactory = transactionManagerFactory;
26
- }
27
- get hostname() {
28
- return this.listen.hostname;
29
- }
30
- get port() {
31
- return this.listen.port;
32
- }
33
- get protocol() {
34
- return this.isSecure ? "https" : "http";
35
- }
36
- get address() {
37
- return `${this.protocol}://${this.hostname}:${this.port}`;
38
- }
39
- get isSecure() {
40
- return this.serverOption && "key" in this.serverOption && "cert" in this.serverOption;
41
- }
42
- };
43
-
44
- // src/SimpleBootHttpServer.ts
2
+ import { HttpServerOption } from "./option/HttpServerOption.js";
45
3
  import { IncomingMessage, Server as HttpServer, ServerResponse } from "http";
46
4
  import { Server as HttpsServer } from "https";
47
-
48
- // src/models/RequestResponse.ts
49
- import { Intent } from "@dooboostore/simple-boot/intent/Intent";
50
- import { URL, URLSearchParams } from "url";
51
- import { Buffer } from "buffer";
52
-
53
- // src/models/datas/body/ReqFormUrlBody.ts
54
- var ReqFormUrlBody = class {
55
- };
56
-
57
- // src/models/datas/body/ReqJsonBody.ts
58
- var ReqJsonBody = class {
59
- };
60
-
61
- // src/models/datas/ReqHeader.ts
62
- var ReqHeader = class {
63
- };
64
-
65
- // src/models/RequestResponse.ts
66
- import { gzip } from "node-gzip";
67
- import { FileUtils } from "@dooboostore/core-node/file/FileUtils";
68
- import { ConvertUtils as CoreConvertUtils } from "@dooboostore/core/convert/ConvertUtils";
69
- import { ConvertUtils } from "@dooboostore/core-node/convert/ConvertUtils";
70
- var RequestResponse = class _RequestResponse {
71
- // protected sessionManager?: SessionManager;
72
- // constructor(req: IncomingMessage, res: ServerResponse);
73
- // constructor(req: RequestResponse);
74
- // constructor(req: IncomingMessage, res: ServerResponse, sessionManager?: SessionManager);
75
- // constructor(req: IncomingMessage | RequestResponse, res?: ServerResponse, sessionManager?: SessionManager) {
76
- // // this.req = req;
77
- // // this.res = res;
78
- // if (req instanceof RequestResponse) {
79
- // this.req = req.req;
80
- // this.res = req.res;
81
- // this.sessionManager = req.sessionManager;
82
- // } else {
83
- // this.req = req;
84
- // this.res = res!;
85
- // this.sessionManager = sessionManager;
86
- // }
87
- // }
88
- constructor(req, res, config) {
89
- if (req instanceof _RequestResponse) {
90
- this.req = req.req;
91
- this.res = req.res;
92
- this.config = config;
93
- } else {
94
- this.req = req;
95
- this.res = res;
96
- this.config = config;
97
- }
98
- }
99
- get reqSocket() {
100
- return this.req.socket;
101
- }
102
- get reqCookieMap() {
103
- let cookies = this.reqHeader("Cookie" /* Cookie */) ?? "";
104
- if (Array.isArray(cookies)) {
105
- cookies = cookies.join(";");
106
- }
107
- const map = /* @__PURE__ */ new Map();
108
- cookies.split(";").map((it) => it.trim().split("=")).forEach((it) => {
109
- map.set(it[0], it[1]);
110
- });
111
- return map;
112
- }
113
- reqCookieGet(key) {
114
- return this.reqCookieMap.get(key);
115
- }
116
- get reqRemoteAddress() {
117
- const ipHeader = this.req.headers["x-forwarded-for"];
118
- let ip = this.req.socket.remoteAddress;
119
- if (Array.isArray(ipHeader)) {
120
- ip = ipHeader.join(",").split(",").shift();
121
- } else if (typeof ipHeader === "string") {
122
- ip = ipHeader.split(",").shift();
123
- }
124
- return ip;
125
- }
126
- get reqUrlObject() {
127
- return new URL(this.reqUrl, `${this.reqSocket ? "https://" : "http"}${this.reqHost ?? "localhost"}`);
128
- }
129
- get reqUrlPathName() {
130
- return this.reqUrlObj().pathname ?? "";
131
- }
132
- get reqUrl() {
133
- return this.req.url ?? "";
134
- }
135
- reqUrlObj(config) {
136
- return new URL(`${config?.scheme ?? "http"}://${config?.host ? config?.host : this.reqHeaderFirst("Host" /* Host */) ?? "localhost"}${this.req.url ?? ""}`);
137
- }
138
- get reqUrlSearchParamTuples() {
139
- return Array.from(this.reqUrlObj().searchParams);
140
- }
141
- get reqUrlSearchParams() {
142
- return this.reqUrlObj().searchParams;
143
- }
144
- get reqUrlSearchParamsObj() {
145
- const entries = this.reqUrlObj().searchParams;
146
- return CoreConvertUtils.toObject(entries);
147
- }
148
- get reqPathSearchParamUrl() {
149
- const reqUrlObj = this.reqUrlObj();
150
- return reqUrlObj.pathname + (reqUrlObj.searchParams.toString() ? "?" + reqUrlObj.searchParams.toString() : "");
151
- }
152
- get reqReadable() {
153
- return this.req.readable;
154
- }
155
- get reqIntent() {
156
- return new Intent(this.reqPathSearchParamUrl);
157
- }
158
- reqHasContentTypeHeader(mime) {
159
- return (this.reqHeaderFirst("Content-Type" /* ContentType */) ?? "").toLowerCase().indexOf(mime.toLocaleLowerCase()) > -1;
160
- }
161
- reqHasAcceptHeader(mime) {
162
- return (this.reqHeaderFirst("Accept" /* Accept */) ?? "").toLowerCase().indexOf(mime.toLocaleLowerCase()) > -1;
163
- }
164
- reqBodyData() {
165
- return new Promise((resolve, reject) => {
166
- if (this.reqReadable) {
167
- const data = [];
168
- this.req.on("data", (chunk) => data.push(chunk));
169
- this.req.on("error", (err) => reject(err));
170
- this.req.on("end", () => {
171
- this.reqBodyChunk = Buffer.concat(data);
172
- resolve(this.reqBodyChunk);
173
- });
174
- } else {
175
- resolve(this.reqBodyChunk ?? Buffer.alloc(0));
176
- }
177
- });
178
- }
179
- resBodyData() {
180
- return this.resWriteChunk;
181
- }
182
- async reqBodyMultipartFormDataObject() {
183
- const m = await this.reqBodyMultipartFormData();
184
- const formData = {};
185
- for (const it of m) {
186
- if (it.isFile) {
187
- formData[it.name] = await FileUtils.writeFile(it.value, { originalName: it.filename });
188
- } else {
189
- const target = formData[it.name];
190
- if (Array.isArray(target)) {
191
- target.push(it.value);
192
- } else if (typeof target === "string") {
193
- formData[it.name] = [target, it.value];
194
- } else {
195
- formData[it.name] = it.value;
196
- }
197
- }
198
- }
199
- ;
200
- return formData;
201
- }
202
- reqBodyMultipartFormData() {
203
- return new Promise((resolve, reject) => {
204
- const contentTypeHeader = this.req.headers["content-type"];
205
- if (!contentTypeHeader || !contentTypeHeader.startsWith("multipart/form-data")) {
206
- return reject(new Error("Invalid Content-Type. Expected multipart/form-data."));
207
- }
208
- const boundaryMatch = contentTypeHeader.match(/boundary=(?:"([^"]+)"|([^;]+))/i);
209
- if (!boundaryMatch) {
210
- return reject(new Error("Boundary not found in Content-Type header."));
211
- }
212
- const boundary = boundaryMatch[1] || boundaryMatch[2];
213
- if (!boundary) {
214
- return reject(new Error("Failed to extract boundary."));
215
- }
216
- const boundaryBuffer = Buffer.from(`--${boundary}`);
217
- const crlfBuffer = Buffer.from("\r\n");
218
- const doubleCrlfBuffer = Buffer.from("\r\n\r\n");
219
- const chunks = [];
220
- let totalLength = 0;
221
- this.req.on("data", (chunk) => {
222
- chunks.push(chunk);
223
- totalLength += chunk.length;
224
- });
225
- this.req.on("error", (err) => {
226
- reject(err);
227
- });
228
- this.req.on("end", () => {
229
- if (totalLength === 0) {
230
- return resolve([]);
231
- }
232
- const fullBuffer = Buffer.concat(chunks, totalLength);
233
- const parsedParts = [];
234
- let currentPosition = 0;
235
- let boundaryStartIndex = fullBuffer.indexOf(boundaryBuffer, currentPosition);
236
- if (boundaryStartIndex === -1) {
237
- return reject(new Error("Initial boundary not found."));
238
- }
239
- currentPosition = boundaryStartIndex + boundaryBuffer.length;
240
- if (fullBuffer.slice(currentPosition, currentPosition + crlfBuffer.length).equals(crlfBuffer)) {
241
- currentPosition += crlfBuffer.length;
242
- }
243
- while (currentPosition < fullBuffer.length) {
244
- const nextBoundaryIndex = fullBuffer.indexOf(boundaryBuffer, currentPosition);
245
- if (nextBoundaryIndex === -1) {
246
- break;
247
- }
248
- let partEndIndex = nextBoundaryIndex;
249
- if (partEndIndex > crlfBuffer.length && fullBuffer.slice(partEndIndex - crlfBuffer.length, partEndIndex).equals(crlfBuffer)) {
250
- partEndIndex -= crlfBuffer.length;
251
- }
252
- const partBuffer = fullBuffer.slice(currentPosition, partEndIndex);
253
- const headerBodySeparatorIndex = partBuffer.indexOf(doubleCrlfBuffer);
254
- if (headerBodySeparatorIndex === -1) {
255
- console.warn("Skipping malformed part: no header/body separator found.");
256
- currentPosition = nextBoundaryIndex + boundaryBuffer.length;
257
- if (fullBuffer.slice(currentPosition, currentPosition + crlfBuffer.length).equals(crlfBuffer)) {
258
- currentPosition += crlfBuffer.length;
259
- }
260
- if (fullBuffer.slice(currentPosition, currentPosition + 2).toString() === "--") break;
261
- continue;
262
- }
263
- const headerBuffer = partBuffer.slice(0, headerBodySeparatorIndex);
264
- const bodyBuffer = partBuffer.slice(headerBodySeparatorIndex + doubleCrlfBuffer.length);
265
- const headersStr = headerBuffer.toString("utf-8");
266
- const headers = {};
267
- headersStr.split("\r\n").forEach((line) => {
268
- const colonIndex = line.indexOf(":");
269
- if (colonIndex > 0) {
270
- const key = line.substring(0, colonIndex).trim().toLowerCase();
271
- const value = line.substring(colonIndex + 1).trim();
272
- headers[key] = value;
273
- }
274
- });
275
- const contentDisposition = headers["content-disposition"];
276
- if (!contentDisposition) {
277
- console.warn("Skipping part: no Content-Disposition header.");
278
- currentPosition = nextBoundaryIndex + boundaryBuffer.length;
279
- if (fullBuffer.slice(currentPosition, currentPosition + crlfBuffer.length).equals(crlfBuffer)) {
280
- currentPosition += crlfBuffer.length;
281
- }
282
- if (fullBuffer.slice(currentPosition, currentPosition + 2).toString() === "--") break;
283
- continue;
284
- }
285
- const nameMatch = contentDisposition.match(/name="([^"]+)"/i);
286
- const filenameMatch = contentDisposition.match(/filename="([^"]+)"/i);
287
- const name = nameMatch ? nameMatch[1] : null;
288
- const filename = filenameMatch ? filenameMatch[1] : null;
289
- const contentType = headers["content-type"] || null;
290
- if (name) {
291
- const isFile = !!filename;
292
- const multipartData = {
293
- name,
294
- isFile,
295
- // filename이 있으면 파일로 간주
296
- filename,
297
- contentType,
298
- value: isFile ? bodyBuffer : bodyBuffer.toString("utf-8")
299
- };
300
- parsedParts.push(multipartData);
301
- } else {
302
- console.warn("Skipping part: 'name' not found in Content-Disposition.");
303
- }
304
- currentPosition = nextBoundaryIndex + boundaryBuffer.length;
305
- if (fullBuffer.slice(currentPosition, currentPosition + crlfBuffer.length).equals(crlfBuffer)) {
306
- currentPosition += crlfBuffer.length;
307
- }
308
- if (fullBuffer.slice(currentPosition, currentPosition + 2).toString() === "--") {
309
- break;
310
- }
311
- }
312
- resolve(parsedParts);
313
- });
314
- });
315
- }
316
- async reqBodyStringData() {
317
- const data = (await this.reqBodyData()).toString();
318
- return data;
319
- }
320
- async reqBodyJsonData() {
321
- return JSON.parse(await this.reqBodyStringData());
322
- }
323
- async reqBodyFormUrlData() {
324
- const data = await this.reqBodyStringData();
325
- const formData = {};
326
- Array.from(new URLSearchParams(data).entries()).forEach(([k, v]) => {
327
- const target = formData[k];
328
- if (Array.isArray(target)) {
329
- target.push(v);
330
- } else if (typeof target === "string") {
331
- formData[k] = [target, v];
332
- } else {
333
- formData[k] = v;
334
- }
335
- });
336
- return formData;
337
- }
338
- async reqBodyReqFormUrlBody() {
339
- const data = await this.reqBodyFormUrlData();
340
- return Object.assign(new ReqFormUrlBody(), data);
341
- }
342
- async reqBodyReqJsonBody() {
343
- const data = await this.reqBodyStringData();
344
- return Object.assign(new ReqJsonBody(), data ? JSON.parse(data) : {});
345
- }
346
- // reqBodyReqMultipartFormBody(): Promise<ReqMultipartFormBody> {
347
- // return this.reqBodyMultipartFormData().then(it => new ReqMultipartFormBody(it))
348
- // }
349
- resBodyJsonData() {
350
- const data = ConvertUtils.toString(this.resBodyData());
351
- return data ? JSON.parse(data) : null;
352
- }
353
- resBodyStringData() {
354
- return ConvertUtils.toString(this.resBodyData());
355
- }
356
- reqMethod() {
357
- return this.req.method?.toUpperCase();
358
- }
359
- reqHeader(key) {
360
- return this.req.headers[key.toLowerCase()];
361
- }
362
- get reqHost() {
363
- return this.reqHeaderFirst("Host" /* Host */);
364
- }
365
- get reqHeaderObj() {
366
- const h = new ReqHeader();
367
- Object.entries(this.req.headers).forEach(([k, v]) => {
368
- h[k] = v;
369
- });
370
- return h;
371
- }
372
- reqHeaderFirst(key, defaultValue) {
373
- const header = this.req.headers[key.toLowerCase()];
374
- if (header && Array.isArray(header)) {
375
- return header[0] ?? defaultValue;
376
- } else {
377
- return header ?? defaultValue;
378
- }
379
- }
380
- reqAuthorizationHeader() {
381
- return this.reqHeaderFirst("Authorization" /* Authorization */);
382
- }
383
- reqRefreshTokenHeader() {
384
- return this.reqHeaderFirst("Authorization" /* Authorization */);
385
- }
386
- // eslint-disable-next-line no-dupe-class-members
387
- resStatusCode(code) {
388
- if (code) {
389
- this.res.statusCode = code;
390
- return new RequestResponseChain(this.req, this.res, this.config, this.res.statusCode);
391
- } else {
392
- return this.res.statusCode;
393
- }
394
- }
395
- resHeader(key) {
396
- return this.res.getHeader(key.toLowerCase());
397
- }
398
- resHeaderFirst(key, defaultValue) {
399
- const header = this.res.getHeader(key.toLowerCase());
400
- if (header && Array.isArray(header)) {
401
- return header[0] ?? defaultValue;
402
- } else {
403
- return header ?? defaultValue;
404
- }
405
- }
406
- async reqSession() {
407
- if (this.config.sessionManager) {
408
- return (await this.config.sessionManager.session(this)).dataSet.data;
409
- } else {
410
- return Promise.reject(new Error("Not SessionManager"));
411
- }
412
- }
413
- reqSessionSet(key, value) {
414
- this.reqSession[key] = value;
415
- }
416
- reqSessionGet(key) {
417
- const session = this.reqSession;
418
- if (session) {
419
- return session[key];
420
- }
421
- }
422
- resSetStatusCode(statusCode) {
423
- this.res.statusCode = statusCode;
424
- return this.createRequestResponseChain(this.res.statusCode);
425
- }
426
- // resEnd() {
427
- // this.res.end();
428
- // }
429
- // eslint-disable-next-line no-undef
430
- resWrite(chunk, encoding = "utf8") {
431
- this.resWriteChunk = chunk;
432
- return this.createRequestResponseChain(this.resWriteChunk);
433
- }
434
- // eslint-disable-next-line no-undef
435
- resWriteJson(chunk, encoding = "utf8") {
436
- return this.resWrite(JSON.stringify(chunk), encoding);
437
- }
438
- resSetHeader(key, value) {
439
- return this.createRequestResponseChain(this.res.setHeader(key.toLowerCase(), value));
440
- }
441
- resAddHeader(key, value) {
442
- const existingValue = this.res.getHeader(key.toLowerCase());
443
- const newValue = Array.isArray(existingValue) ? existingValue.concat(value) : existingValue ? [existingValue.toString(), ...[].concat(value)] : value;
444
- return this.createRequestResponseChain(this.res.setHeader(key.toLowerCase(), newValue));
445
- }
446
- resSetHeaders(headers) {
447
- Object.entries(headers).forEach(([key, value]) => this.resSetHeader(key, value));
448
- return this.createRequestResponseChain();
449
- }
450
- resAddHeaders(headers) {
451
- Object.entries(headers).forEach(([key, value]) => this.resAddHeader(key, value));
452
- return this.createRequestResponseChain();
453
- }
454
- // 마지막 종료될때 타는거.
455
- async resEndChunk() {
456
- const encoding = this.reqHeaderFirst("Accept-Encoding" /* AcceptEncoding */);
457
- let data = this.resWriteChunk;
458
- if (encoding?.includes("gzip")) {
459
- data = await gzip(data);
460
- this.resSetHeader("Content-Encoding" /* ContentEncoding */, "gzip");
461
- }
462
- this.res.end(data);
463
- }
464
- async resEnd(chunk) {
465
- this.resWriteChunk = chunk ?? this.resWriteChunk;
466
- if (this.req.readable) {
467
- await this.reqBodyData();
468
- await this.resEndChunk();
469
- } else {
470
- await this.resEndChunk();
471
- }
472
- }
473
- // writeContinue(callback?: () => void) {
474
- // this.res.writeContinue(callback);
475
- // return new RequestResponseChain(this.req, this.res);
476
- // }
477
- // reqWrite(chunk?: any) {
478
- // this.resWriteChunk = chunk;
479
- // // this.res.write(chunk);
480
- // return this.createRequestResponseChain();
481
- // }
482
- resWriteHead(statusCode, headers) {
483
- return this.createRequestResponseChain(this.res.writeHead(statusCode, headers));
484
- }
485
- resWriteHeadEnd(statusCode, headers) {
486
- this.createRequestResponseChain(this.res.writeHead(statusCode, headers));
487
- this.res.end();
488
- }
489
- resIsDone() {
490
- return this.res.finished || this.res.writableEnded || this.res.headersSent;
491
- }
492
- createRequestResponseChain(data) {
493
- const requestResponseChain = new RequestResponseChain(this.req, this.res, this.config, data);
494
- requestResponseChain.resWriteChunk = this.resWriteChunk;
495
- requestResponseChain.reqBodyChunk = this.reqBodyChunk;
496
- return requestResponseChain;
497
- }
498
- // res.on("readable", () => {
499
- // console.log('readable???')
500
- // });
501
- // res.on('complete', function (details) {
502
- // var size = details.req.bytes;
503
- // console.log('complete-->', size)
504
- // });
505
- // res.on('finish', function() {
506
- // console.log('finish??');
507
- // });
508
- // res.on('end', () => {
509
- // console.log('end--?')
510
- // });
511
- };
512
- var RequestResponseChain = class extends RequestResponse {
513
- constructor(req, res, config, result) {
514
- super(req, res, config);
515
- this.result = result;
516
- }
517
- };
518
-
519
- // src/decorators/MethodMapping.ts
520
- import "reflect-metadata";
521
- import { ReflectUtils } from "@dooboostore/core/reflect/ReflectUtils";
522
- var MappingMetadataKey = Symbol("MappingMetadataKey");
523
- var getUrlMapping = (target, propertyKey) => {
524
- return ReflectUtils.getMetadata(MappingMetadataKey, target, propertyKey);
525
- };
526
- var getUrlMappings = (target) => {
527
- if (target !== null && void 0 !== target && typeof target === "object") {
528
- target = target.constructor;
529
- }
530
- return ReflectUtils.getMetadata(MappingMetadataKey, target);
531
- };
532
-
533
- // src/SimpleBootHttpServer.ts
5
+ import { RequestResponse } from "./models/RequestResponse.js";
6
+ import { getUrlMapping, getUrlMappings, UrlMappingSituationType } from "./decorators/MethodMapping.js";
7
+ import { HttpStatus } from "./codes/HttpStatus.js";
8
+ import { HttpHeaders } from "./codes/HttpHeaders.js";
9
+ import { Mimes } from "./codes/Mimes.js";
534
10
  import { ExceptionHandlerSituationType, targetExceptionHandler } from "@dooboostore/simple-boot/decorators/exception/ExceptionDecorator";
535
11
  import { getInject, SituationTypeContainer, SituationTypeContainers } from "@dooboostore/simple-boot/decorators/inject/Inject";
536
- import { ReflectUtils as ReflectUtils2 } from "@dooboostore/core/reflect/ReflectUtils";
12
+ import { ReflectUtils } from "@dooboostore/core/reflect/ReflectUtils";
13
+ import { ReqFormUrlBody } from "./models/datas/body/ReqFormUrlBody.js";
14
+ import { ReqJsonBody } from "./models/datas/body/ReqJsonBody.js";
15
+ import { ReqHeader } from "./models/datas/ReqHeader.js";
537
16
  import { RouterModule } from "@dooboostore/simple-boot/route/RouterModule";
538
-
539
- // src/models/datas/body/ReqMultipartFormBody.ts
540
- var ReqMultipartFormBody = class {
541
- constructor(field = []) {
542
- this.field = field;
543
- }
544
- };
545
-
546
- // src/SimpleBootHttpServer.ts
17
+ import { ReqMultipartFormBody } from "./models/datas/body/ReqMultipartFormBody.js";
547
18
  import { execValidationInValid, getValidIndex } from "@dooboostore/simple-boot/decorators/validate/Validation";
548
19
  import { ValidException } from "@dooboostore/simple-boot/errors/ValidException";
549
-
550
- // src/errors/HttpError.ts
551
- var HttpError = class {
552
- constructor({ status, message = "HttpError" }) {
553
- this.name = "Error";
554
- this.message = message;
555
- this.status = status;
556
- }
557
- };
558
-
559
- // src/SimpleBootHttpServer.ts
20
+ import { HttpError } from "./errors/HttpError.js";
560
21
  import { getRoute } from "@dooboostore/simple-boot/decorators/route/Router";
561
- import { URLSearchParams as URLSearchParams2 } from "url";
562
-
563
- // src/session/SessionManager.ts
564
- import { RandomUtils } from "@dooboostore/core/random/RandomUtils";
565
- var SessionManager = class {
566
- constructor(option) {
567
- this.option = option;
568
- this.sessions = /* @__PURE__ */ new Map();
569
- this.sessionOption = option.sessionOption;
570
- setInterval(async () => {
571
- const uuids = await this.getSessionUUIDs();
572
- for (const uuid of uuids) {
573
- const dataSet = await this.getSessionDataSet(uuid);
574
- if (dataSet && this.isExpired(dataSet.access)) {
575
- await this.deleteSession(uuid);
576
- }
577
- }
578
- }, this.sessionOption.expiredTime);
579
- }
580
- async getSessionUUIDs() {
581
- if (this.sessionOption.provider?.uuids) {
582
- return this.sessionOption.provider.uuids();
583
- } else {
584
- return Array.from(this.sessions.keys());
585
- }
586
- }
587
- async deleteSession(uuid) {
588
- if (this.sessionOption.provider?.delete) {
589
- this.sessionOption.provider.delete(uuid);
590
- } else {
591
- this.sessions.delete(uuid);
592
- }
593
- }
594
- async getSessionDataSet(uuid) {
595
- if (this.sessionOption.provider?.get) {
596
- return this.sessionOption.provider.get(uuid);
597
- } else {
598
- return this.sessions.get(uuid);
599
- }
600
- }
601
- async setSessionDataSet(uuid, dataSet) {
602
- if (this.sessionOption.provider?.set) {
603
- this.sessionOption.provider.set(uuid, dataSet);
604
- } else {
605
- this.sessions.set(uuid, dataSet);
606
- }
607
- }
608
- isExpired(access, now = Date.now()) {
609
- return now - access >= this.option.sessionOption.expiredTime;
610
- }
611
- makeUUID() {
612
- return RandomUtils.uuid("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
613
- }
614
- async session(rrOrUUID) {
615
- let uuid;
616
- if (rrOrUUID instanceof RequestResponse) {
617
- uuid = rrOrUUID.reqCookieGet(this.sessionOption.key) ?? this.makeUUID();
618
- } else if (typeof rrOrUUID === "string") {
619
- uuid = rrOrUUID;
620
- } else {
621
- uuid = this.makeUUID();
622
- }
623
- let dataSet = await this.getSessionDataSet(uuid);
624
- const now = Date.now();
625
- if (dataSet) {
626
- if (this.isExpired(dataSet.access, now)) {
627
- delete dataSet.data;
628
- }
629
- dataSet.access = now;
630
- } else {
631
- dataSet = {
632
- access: now
633
- };
634
- }
635
- await this.setSessionDataSet(uuid, dataSet);
636
- return { uuid, dataSet };
637
- }
638
- };
639
-
640
- // src/inject/InjectSituationType.ts
641
- var InjectSituationType;
642
- ((InjectSituationType2) => {
643
- InjectSituationType2.TransactionManager = Symbol("TransactionManager");
644
- })(InjectSituationType || (InjectSituationType = {}));
645
-
646
- // src/SimpleBootHttpServer.ts
647
- var SimpleBootHttpServer = class extends SimpleApplication {
22
+ import { URLSearchParams } from "url";
23
+ import { HttpMethod } from "./codes/HttpMethod.js";
24
+ import { SessionManager } from "./session/SessionManager.js";
25
+ import { InjectSituationType } from "./inject/InjectSituationType.js";
26
+ class SimpleBootHttpServer extends SimpleApplication {
648
27
  constructor(option = new HttpServerOption()) {
649
28
  super(option);
650
29
  this.option = option;
@@ -711,11 +90,11 @@ var SimpleBootHttpServer = class extends SimpleApplication {
711
90
  }
712
91
  });
713
92
  const rr = new RequestResponse(req, res, { sessionManager: this.sessionManager, option: this.option });
714
- rr.resSetHeader("Server" /* Server */, "simple-boot-http-server");
93
+ rr.resSetHeader(HttpHeaders.Server, "simple-boot-http-server");
715
94
  const cookie = rr.reqCookieGet(this.option.sessionOption.key);
716
95
  if (!cookie) {
717
96
  const session = await this.sessionManager.session();
718
- rr.resSetHeader("Set-Cookie" /* SetCookie */, `${this.option.sessionOption.key}=${session.uuid}; Path=/; HttpOnly`);
97
+ rr.resSetHeader(HttpHeaders.SetCookie, `${this.option.sessionOption.key}=${session.uuid}; Path=/; HttpOnly`);
719
98
  }
720
99
  const otherStorage = /* @__PURE__ */ new Map();
721
100
  otherStorage.set(RequestResponse, rr);
@@ -762,9 +141,9 @@ var SimpleBootHttpServer = class extends SimpleApplication {
762
141
  } else {
763
142
  methods.push(...getUrlMappings(moduleInstance).filter((it) => !getRoute(moduleInstance, it.propertyKey)) ?? []);
764
143
  }
765
- if (rr.reqMethod()?.toUpperCase() === "OPTIONS" /* OPTIONS */.toUpperCase()) {
766
- rr.resSetHeader("Allow" /* Allow */, methods.map((it) => it.config.method).join(", "));
767
- rr.resStatusCode(200 /* Ok */);
144
+ if (rr.reqMethod()?.toUpperCase() === HttpMethod.OPTIONS.toUpperCase()) {
145
+ rr.resSetHeader(HttpHeaders.Allow, methods.map((it) => it.config.method).join(", "));
146
+ rr.resStatusCode(HttpStatus.Ok);
768
147
  }
769
148
  methods = methods.filter((it) => it && it.propertyKey && it.config && rr.reqMethod()?.toUpperCase() === it.config.method.toUpperCase());
770
149
  methods.sort((a, b) => {
@@ -773,12 +152,12 @@ var SimpleBootHttpServer = class extends SimpleApplication {
773
152
  methods = methods.filter((it) => it.config?.req?.contentType ? !!it.config?.req?.contentType?.find((sit) => rr.reqHasContentTypeHeader(sit)) : true).filter((it) => it.config?.req?.accept ? !!it.config?.req?.accept?.find((sit) => rr.reqHasAcceptHeader(sit)) : true);
774
153
  if (methods[0]) {
775
154
  const it = methods[0];
776
- const paramTypes = ReflectUtils2.getParameterTypes(moduleInstance, it.propertyKey);
155
+ const paramTypes = ReflectUtils.getParameterTypes(moduleInstance, it.propertyKey);
777
156
  const injects = getInject(moduleInstance, it.propertyKey);
778
157
  const validIndexs = getValidIndex(moduleInstance, it.propertyKey);
779
158
  if (injects) {
780
- const isJson = injects.find((it2) => it2.config?.situationType === "SIMPLE_BOOT_HTTP_SERVER://URLMAPPING/REQ_JSON_BODY" /* REQ_JSON_BODY */);
781
- const isFormUrl = injects.find((it2) => it2.config?.situationType === "SIMPLE_BOOT_HTTP_SERVER://URLMAPPING/REQ_FORM_URL_BODY" /* REQ_FORM_URL_BODY */);
159
+ const isJson = injects.find((it2) => it2.config?.situationType === UrlMappingSituationType.REQ_JSON_BODY);
160
+ const isFormUrl = injects.find((it2) => it2.config?.situationType === UrlMappingSituationType.REQ_FORM_URL_BODY);
782
161
  const isTransactionManager = injects.find((it2) => it2.config?.situationType === InjectSituationType.TransactionManager);
783
162
  const siturationContainers = new SituationTypeContainers();
784
163
  if (isJson) {
@@ -793,7 +172,7 @@ var SimpleBootHttpServer = class extends SimpleApplication {
793
172
  }
794
173
  }
795
174
  siturationContainers.push(new SituationTypeContainer({
796
- situationType: "SIMPLE_BOOT_HTTP_SERVER://URLMAPPING/REQ_JSON_BODY" /* REQ_JSON_BODY */,
175
+ situationType: UrlMappingSituationType.REQ_JSON_BODY,
797
176
  data: data2
798
177
  }));
799
178
  }
@@ -808,7 +187,7 @@ var SimpleBootHttpServer = class extends SimpleApplication {
808
187
  throw new ValidException(inValid);
809
188
  }
810
189
  }
811
- siturationContainers.push(new SituationTypeContainer({ situationType: "SIMPLE_BOOT_HTTP_SERVER://URLMAPPING/REQ_FORM_URL_BODY" /* REQ_FORM_URL_BODY */, data: data2 }));
190
+ siturationContainers.push(new SituationTypeContainer({ situationType: UrlMappingSituationType.REQ_FORM_URL_BODY, data: data2 }));
812
191
  }
813
192
  if (isTransactionManager && isTransactionManager.type && transactionManager && transactionManager.hasTransaction(isTransactionManager.type)) {
814
193
  let data2 = await transactionManager.getTransaction(isTransactionManager.type);
@@ -826,8 +205,8 @@ var SimpleBootHttpServer = class extends SimpleApplication {
826
205
  otherStorage.set(ReqFormUrlBody, await rr.reqBodyReqFormUrlBody());
827
206
  } else if (paramType === ReqJsonBody) {
828
207
  otherStorage.set(ReqJsonBody, await rr.reqBodyReqJsonBody());
829
- } else if (paramType === URLSearchParams2) {
830
- otherStorage.set(URLSearchParams2, rr.reqUrlSearchParams);
208
+ } else if (paramType === URLSearchParams) {
209
+ otherStorage.set(URLSearchParams, rr.reqUrlSearchParams);
831
210
  } else if (paramType === ReqMultipartFormBody) {
832
211
  otherStorage.set(ReqMultipartFormBody, rr.reqBodyMultipartFormData());
833
212
  } else if (paramType === ReqHeader) {
@@ -842,12 +221,12 @@ var SimpleBootHttpServer = class extends SimpleApplication {
842
221
  const execute = typeof it.config.resolver === "function" ? this.simstanceManager.getOrNewSim({ target: it.config.resolver }) : it.config.resolver;
843
222
  data = await execute?.resolve?.(data, rr);
844
223
  }
845
- const status = it.config?.res?.status ?? 200 /* Ok */;
224
+ const status = it.config?.res?.status ?? HttpStatus.Ok;
846
225
  const headers = it.config?.res?.header ?? {};
847
226
  if (it.config?.res?.contentType) {
848
- headers["Content-Type" /* ContentType */] = it.config?.res?.contentType;
227
+ headers[HttpHeaders.ContentType] = it.config?.res?.contentType;
849
228
  }
850
- if ((it.config?.res?.contentType?.toLowerCase().indexOf("application/json" /* ApplicationJson */.toLowerCase()) ?? -1) > -1) {
229
+ if ((it.config?.res?.contentType?.toLowerCase().indexOf(Mimes.ApplicationJson.toLowerCase()) ?? -1) > -1) {
851
230
  data = JSON.stringify(data);
852
231
  } else if (data && typeof data === "object") {
853
232
  data = JSON.stringify(data);
@@ -857,7 +236,7 @@ var SimpleBootHttpServer = class extends SimpleApplication {
857
236
  rr.resWrite(data);
858
237
  }
859
238
  }
860
- if (this.option.noSuchRouteEndPointMappingThrow && methods.length <= 0 && rr.reqMethod()?.toUpperCase() !== "OPTIONS" /* OPTIONS */) {
239
+ if (this.option.noSuchRouteEndPointMappingThrow && methods.length <= 0 && rr.reqMethod()?.toUpperCase() !== HttpMethod.OPTIONS) {
861
240
  throw this.option.noSuchRouteEndPointMappingThrow(rr);
862
241
  }
863
242
  }
@@ -868,7 +247,7 @@ var SimpleBootHttpServer = class extends SimpleApplication {
868
247
  }
869
248
  } catch (e) {
870
249
  transactionManager?.catch(e);
871
- rr.resStatusCode(e instanceof HttpError ? e.status : 500 /* InternalServerError */);
250
+ rr.resStatusCode(e instanceof HttpError ? e.status : HttpStatus.InternalServerError);
872
251
  const execute = typeof this.option.globalAdvice === "function" ? this.simstanceManager.getOrNewSim(this.option.globalAdvice) : this.option.globalAdvice;
873
252
  if (!execute) {
874
253
  rr.resEnd();
@@ -899,7 +278,7 @@ var SimpleBootHttpServer = class extends SimpleApplication {
899
278
  this.option.listen.listeningListener?.(this, this.server);
900
279
  });
901
280
  }
902
- };
281
+ }
903
282
  export {
904
283
  SimpleBootHttpServer
905
284
  };