jimpex 7.0.2 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/LICENSE +1 -1
  3. package/README.md +447 -435
  4. package/dist/app/index.d.mts +14 -0
  5. package/dist/app/index.d.ts +14 -0
  6. package/dist/app/index.js +23 -0
  7. package/dist/app/index.js.map +1 -0
  8. package/dist/app/jimpex.d.mts +14 -0
  9. package/dist/app/jimpex.d.ts +14 -0
  10. package/dist/app/jimpex.js +665 -0
  11. package/dist/app/jimpex.js.map +1 -0
  12. package/dist/controllers/common/config.d.mts +79 -0
  13. package/dist/controllers/common/config.d.ts +79 -0
  14. package/dist/controllers/common/config.js +107 -0
  15. package/dist/controllers/common/config.js.map +1 -0
  16. package/dist/controllers/common/health.d.mts +83 -0
  17. package/dist/controllers/common/health.d.ts +83 -0
  18. package/dist/controllers/common/health.js +115 -0
  19. package/dist/controllers/common/health.js.map +1 -0
  20. package/dist/controllers/common/index.d.mts +21 -0
  21. package/dist/controllers/common/index.d.ts +21 -0
  22. package/dist/controllers/common/index.js +27 -0
  23. package/dist/controllers/common/index.js.map +1 -0
  24. package/dist/controllers/common/statics.d.mts +215 -0
  25. package/dist/controllers/common/statics.d.ts +215 -0
  26. package/dist/controllers/common/statics.js +253 -0
  27. package/dist/controllers/common/statics.js.map +1 -0
  28. package/dist/controllers/index.d.mts +24 -0
  29. package/dist/controllers/index.d.ts +24 -0
  30. package/dist/controllers/index.js +25 -0
  31. package/dist/controllers/index.js.map +1 -0
  32. package/dist/controllers/utils/gateway.d.mts +725 -0
  33. package/dist/controllers/utils/gateway.d.ts +725 -0
  34. package/dist/controllers/utils/gateway.js +577 -0
  35. package/dist/controllers/utils/gateway.js.map +1 -0
  36. package/dist/controllers/utils/index.d.mts +17 -0
  37. package/dist/controllers/utils/index.d.ts +17 -0
  38. package/dist/controllers/utils/index.js +23 -0
  39. package/dist/controllers/utils/index.js.map +1 -0
  40. package/dist/esm/app/index.js +2 -0
  41. package/dist/esm/app/index.js.map +1 -0
  42. package/dist/esm/app/jimpex.js +636 -0
  43. package/dist/esm/app/jimpex.js.map +1 -0
  44. package/dist/esm/chunk-2B2CG5KL.js +11 -0
  45. package/dist/esm/chunk-2B2CG5KL.js.map +1 -0
  46. package/dist/esm/controllers/common/config.js +80 -0
  47. package/dist/esm/controllers/common/config.js.map +1 -0
  48. package/dist/esm/controllers/common/health.js +88 -0
  49. package/dist/esm/controllers/common/health.js.map +1 -0
  50. package/dist/esm/controllers/common/index.js +4 -0
  51. package/dist/esm/controllers/common/index.js.map +1 -0
  52. package/dist/esm/controllers/common/statics.js +220 -0
  53. package/dist/esm/controllers/common/statics.js.map +1 -0
  54. package/dist/esm/controllers/index.js +3 -0
  55. package/dist/esm/controllers/index.js.map +1 -0
  56. package/dist/esm/controllers/utils/gateway.js +556 -0
  57. package/dist/esm/controllers/utils/gateway.js.map +1 -0
  58. package/dist/esm/controllers/utils/index.js +2 -0
  59. package/dist/esm/controllers/utils/index.js.map +1 -0
  60. package/dist/esm/index.js +7 -0
  61. package/dist/esm/index.js.map +1 -0
  62. package/dist/esm/middlewares/common/errorHandler.js +116 -0
  63. package/dist/esm/middlewares/common/errorHandler.js.map +1 -0
  64. package/dist/esm/middlewares/common/forceHTTPS.js +53 -0
  65. package/dist/esm/middlewares/common/forceHTTPS.js.map +1 -0
  66. package/dist/esm/middlewares/common/hsts.js +74 -0
  67. package/dist/esm/middlewares/common/hsts.js.map +1 -0
  68. package/dist/esm/middlewares/common/index.js +4 -0
  69. package/dist/esm/middlewares/common/index.js.map +1 -0
  70. package/dist/esm/middlewares/html/fastHTML.js +158 -0
  71. package/dist/esm/middlewares/html/fastHTML.js.map +1 -0
  72. package/dist/esm/middlewares/html/index.js +3 -0
  73. package/dist/esm/middlewares/html/index.js.map +1 -0
  74. package/dist/esm/middlewares/html/showHTML.js +100 -0
  75. package/dist/esm/middlewares/html/showHTML.js.map +1 -0
  76. package/dist/esm/middlewares/index.js +4 -0
  77. package/dist/esm/middlewares/index.js.map +1 -0
  78. package/dist/esm/middlewares/utils/index.js +2 -0
  79. package/dist/esm/middlewares/utils/index.js.map +1 -0
  80. package/dist/esm/middlewares/utils/versionValidator.js +135 -0
  81. package/dist/esm/middlewares/utils/versionValidator.js.map +1 -0
  82. package/dist/esm/services/common/appError.js +98 -0
  83. package/dist/esm/services/common/appError.js.map +1 -0
  84. package/dist/esm/services/common/httpError.js +28 -0
  85. package/dist/esm/services/common/httpError.js.map +1 -0
  86. package/dist/esm/services/common/index.js +17 -0
  87. package/dist/esm/services/common/index.js.map +1 -0
  88. package/dist/esm/services/common/sendFile.js +27 -0
  89. package/dist/esm/services/common/sendFile.js.map +1 -0
  90. package/dist/esm/services/frontend/frontendFs.js +66 -0
  91. package/dist/esm/services/frontend/frontendFs.js.map +1 -0
  92. package/dist/esm/services/frontend/index.js +11 -0
  93. package/dist/esm/services/frontend/index.js.map +1 -0
  94. package/dist/esm/services/html/htmlGenerator.js +194 -0
  95. package/dist/esm/services/html/htmlGenerator.js.map +1 -0
  96. package/dist/esm/services/html/index.js +11 -0
  97. package/dist/esm/services/html/index.js.map +1 -0
  98. package/dist/esm/services/http/apiClient.js +97 -0
  99. package/dist/esm/services/http/apiClient.js.map +1 -0
  100. package/dist/esm/services/http/http.js +174 -0
  101. package/dist/esm/services/http/http.js.map +1 -0
  102. package/dist/esm/services/http/index.js +17 -0
  103. package/dist/esm/services/http/index.js.map +1 -0
  104. package/dist/esm/services/http/responsesBuilder.js +152 -0
  105. package/dist/esm/services/http/responsesBuilder.js.map +1 -0
  106. package/dist/esm/services/index.js +6 -0
  107. package/dist/esm/services/index.js.map +1 -0
  108. package/dist/esm/services/utils/ensureBearerToken.js +94 -0
  109. package/dist/esm/services/utils/ensureBearerToken.js.map +1 -0
  110. package/dist/esm/services/utils/index.js +11 -0
  111. package/dist/esm/services/utils/index.js.map +1 -0
  112. package/dist/esm/types/events.js +1 -0
  113. package/dist/esm/types/events.js.map +1 -0
  114. package/dist/esm/types/express.js +1 -0
  115. package/dist/esm/types/express.js.map +1 -0
  116. package/dist/esm/types/http.js +1 -0
  117. package/dist/esm/types/http.js.map +1 -0
  118. package/dist/esm/types/index.js +7 -0
  119. package/dist/esm/types/index.js.map +1 -0
  120. package/dist/esm/types/options.js +1 -0
  121. package/dist/esm/types/options.js.map +1 -0
  122. package/dist/esm/types/utils.js +1 -0
  123. package/dist/esm/types/utils.js.map +1 -0
  124. package/dist/esm/types/wootils.js +1 -0
  125. package/dist/esm/types/wootils.js.map +1 -0
  126. package/dist/esm/utils/fns/index.js +5 -0
  127. package/dist/esm/utils/fns/index.js.map +1 -0
  128. package/dist/esm/utils/fns/others.js +6 -0
  129. package/dist/esm/utils/fns/others.js.map +1 -0
  130. package/dist/esm/utils/fns/routes.js +25 -0
  131. package/dist/esm/utils/fns/routes.js.map +1 -0
  132. package/dist/esm/utils/fns/statuses.js +6 -0
  133. package/dist/esm/utils/fns/statuses.js.map +1 -0
  134. package/dist/esm/utils/fns/text.js +6 -0
  135. package/dist/esm/utils/fns/text.js.map +1 -0
  136. package/dist/esm/utils/index.js +3 -0
  137. package/dist/esm/utils/index.js.map +1 -0
  138. package/dist/esm/utils/wrappers.js +41 -0
  139. package/dist/esm/utils/wrappers.js.map +1 -0
  140. package/dist/index-b2a04c78.d.ts +1282 -0
  141. package/dist/index-efeb437e.d.ts +1282 -0
  142. package/dist/index.d.mts +46 -0
  143. package/dist/index.d.ts +46 -0
  144. package/dist/index.js +33 -0
  145. package/dist/index.js.map +1 -0
  146. package/dist/middlewares/common/errorHandler.d.mts +132 -0
  147. package/dist/middlewares/common/errorHandler.d.ts +132 -0
  148. package/dist/middlewares/common/errorHandler.js +143 -0
  149. package/dist/middlewares/common/errorHandler.js.map +1 -0
  150. package/dist/middlewares/common/forceHTTPS.d.mts +69 -0
  151. package/dist/middlewares/common/forceHTTPS.d.ts +69 -0
  152. package/dist/middlewares/common/forceHTTPS.js +80 -0
  153. package/dist/middlewares/common/forceHTTPS.js.map +1 -0
  154. package/dist/middlewares/common/hsts.d.mts +110 -0
  155. package/dist/middlewares/common/hsts.d.ts +110 -0
  156. package/dist/middlewares/common/hsts.js +101 -0
  157. package/dist/middlewares/common/hsts.js.map +1 -0
  158. package/dist/middlewares/common/index.d.mts +22 -0
  159. package/dist/middlewares/common/index.d.ts +22 -0
  160. package/dist/middlewares/common/index.js +27 -0
  161. package/dist/middlewares/common/index.js.map +1 -0
  162. package/dist/middlewares/html/fastHTML.d.mts +180 -0
  163. package/dist/middlewares/html/fastHTML.d.ts +180 -0
  164. package/dist/middlewares/html/fastHTML.js +185 -0
  165. package/dist/middlewares/html/fastHTML.js.map +1 -0
  166. package/dist/middlewares/html/index.d.mts +21 -0
  167. package/dist/middlewares/html/index.d.ts +21 -0
  168. package/dist/middlewares/html/index.js +25 -0
  169. package/dist/middlewares/html/index.js.map +1 -0
  170. package/dist/middlewares/html/showHTML.d.mts +127 -0
  171. package/dist/middlewares/html/showHTML.d.ts +127 -0
  172. package/dist/middlewares/html/showHTML.js +127 -0
  173. package/dist/middlewares/html/showHTML.js.map +1 -0
  174. package/dist/middlewares/index.d.mts +30 -0
  175. package/dist/middlewares/index.d.ts +30 -0
  176. package/dist/middlewares/index.js +27 -0
  177. package/dist/middlewares/index.js.map +1 -0
  178. package/dist/middlewares/utils/index.d.mts +20 -0
  179. package/dist/middlewares/utils/index.d.ts +20 -0
  180. package/dist/middlewares/utils/index.js +23 -0
  181. package/dist/middlewares/utils/index.js.map +1 -0
  182. package/dist/middlewares/utils/versionValidator.d.mts +215 -0
  183. package/dist/middlewares/utils/versionValidator.d.ts +215 -0
  184. package/dist/middlewares/utils/versionValidator.js +162 -0
  185. package/dist/middlewares/utils/versionValidator.js.map +1 -0
  186. package/dist/services/common/appError.d.mts +139 -0
  187. package/dist/services/common/appError.d.ts +139 -0
  188. package/dist/services/common/appError.js +126 -0
  189. package/dist/services/common/appError.js.map +1 -0
  190. package/dist/services/common/httpError.d.mts +80 -0
  191. package/dist/services/common/httpError.d.ts +80 -0
  192. package/dist/services/common/httpError.js +53 -0
  193. package/dist/services/common/httpError.js.map +1 -0
  194. package/dist/services/common/index.d.mts +47 -0
  195. package/dist/services/common/index.d.ts +47 -0
  196. package/dist/services/common/index.js +44 -0
  197. package/dist/services/common/index.js.map +1 -0
  198. package/dist/services/common/sendFile.d.mts +102 -0
  199. package/dist/services/common/sendFile.d.ts +102 -0
  200. package/dist/services/common/sendFile.js +51 -0
  201. package/dist/services/common/sendFile.js.map +1 -0
  202. package/dist/services/frontend/frontendFs.d.mts +96 -0
  203. package/dist/services/frontend/frontendFs.d.ts +96 -0
  204. package/dist/services/frontend/frontendFs.js +103 -0
  205. package/dist/services/frontend/frontendFs.js.map +1 -0
  206. package/dist/services/frontend/index.d.mts +40 -0
  207. package/dist/services/frontend/index.d.ts +40 -0
  208. package/dist/services/frontend/index.js +36 -0
  209. package/dist/services/frontend/index.js.map +1 -0
  210. package/dist/services/html/htmlGenerator.d.mts +237 -0
  211. package/dist/services/html/htmlGenerator.d.ts +237 -0
  212. package/dist/services/html/htmlGenerator.js +221 -0
  213. package/dist/services/html/htmlGenerator.js.map +1 -0
  214. package/dist/services/html/index.d.mts +43 -0
  215. package/dist/services/html/index.d.ts +43 -0
  216. package/dist/services/html/index.js +36 -0
  217. package/dist/services/html/index.js.map +1 -0
  218. package/dist/services/http/apiClient.d.mts +170 -0
  219. package/dist/services/http/apiClient.d.ts +170 -0
  220. package/dist/services/http/apiClient.js +122 -0
  221. package/dist/services/http/apiClient.js.map +1 -0
  222. package/dist/services/http/http.d.mts +176 -0
  223. package/dist/services/http/http.d.ts +176 -0
  224. package/dist/services/http/http.js +211 -0
  225. package/dist/services/http/http.js.map +1 -0
  226. package/dist/services/http/index.d.mts +51 -0
  227. package/dist/services/http/index.d.ts +51 -0
  228. package/dist/services/http/index.js +44 -0
  229. package/dist/services/http/index.js.map +1 -0
  230. package/dist/services/http/responsesBuilder.d.mts +179 -0
  231. package/dist/services/http/responsesBuilder.d.ts +179 -0
  232. package/dist/services/http/responsesBuilder.js +179 -0
  233. package/dist/services/http/responsesBuilder.js.map +1 -0
  234. package/dist/services/index.d.mts +33 -0
  235. package/dist/services/index.d.ts +33 -0
  236. package/dist/services/index.js +31 -0
  237. package/dist/services/index.js.map +1 -0
  238. package/dist/services/utils/ensureBearerToken.d.mts +158 -0
  239. package/dist/services/utils/ensureBearerToken.d.ts +158 -0
  240. package/dist/services/utils/ensureBearerToken.js +121 -0
  241. package/dist/services/utils/ensureBearerToken.js.map +1 -0
  242. package/dist/services/utils/index.d.mts +44 -0
  243. package/dist/services/utils/index.d.ts +44 -0
  244. package/dist/services/utils/index.js +36 -0
  245. package/dist/services/utils/index.js.map +1 -0
  246. package/dist/types/events.d.mts +14 -0
  247. package/dist/types/events.d.ts +14 -0
  248. package/dist/types/events.js +17 -0
  249. package/dist/types/events.js.map +1 -0
  250. package/dist/types/express.d.mts +10 -0
  251. package/dist/types/express.d.ts +10 -0
  252. package/dist/types/express.js +17 -0
  253. package/dist/types/express.js.map +1 -0
  254. package/dist/types/http.d.mts +79 -0
  255. package/dist/types/http.d.ts +79 -0
  256. package/dist/types/http.js +17 -0
  257. package/dist/types/http.js.map +1 -0
  258. package/dist/types/index.d.mts +14 -0
  259. package/dist/types/index.d.ts +14 -0
  260. package/dist/types/index.js +33 -0
  261. package/dist/types/index.js.map +1 -0
  262. package/dist/types/options.d.mts +14 -0
  263. package/dist/types/options.d.ts +14 -0
  264. package/dist/types/options.js +17 -0
  265. package/dist/types/options.js.map +1 -0
  266. package/dist/types/utils.d.mts +48 -0
  267. package/dist/types/utils.d.ts +48 -0
  268. package/dist/types/utils.js +17 -0
  269. package/dist/types/utils.js.map +1 -0
  270. package/dist/types/wootils.d.mts +4 -0
  271. package/dist/types/wootils.d.ts +4 -0
  272. package/dist/types/wootils.js +17 -0
  273. package/dist/types/wootils.js.map +1 -0
  274. package/dist/utils/fns/index.d.mts +5 -0
  275. package/dist/utils/fns/index.d.ts +5 -0
  276. package/dist/utils/fns/index.js +29 -0
  277. package/dist/utils/fns/index.js.map +1 -0
  278. package/dist/utils/fns/others.d.mts +17 -0
  279. package/dist/utils/fns/others.d.ts +17 -0
  280. package/dist/utils/fns/others.js +29 -0
  281. package/dist/utils/fns/others.js.map +1 -0
  282. package/dist/utils/fns/routes.d.mts +39 -0
  283. package/dist/utils/fns/routes.d.ts +39 -0
  284. package/dist/utils/fns/routes.js +51 -0
  285. package/dist/utils/fns/routes.js.map +1 -0
  286. package/dist/utils/fns/statuses.d.mts +45 -0
  287. package/dist/utils/fns/statuses.d.ts +45 -0
  288. package/dist/utils/fns/statuses.js +39 -0
  289. package/dist/utils/fns/statuses.js.map +1 -0
  290. package/dist/utils/fns/text.d.mts +9 -0
  291. package/dist/utils/fns/text.d.ts +9 -0
  292. package/dist/utils/fns/text.js +29 -0
  293. package/dist/utils/fns/text.js.map +1 -0
  294. package/dist/utils/index.d.mts +19 -0
  295. package/dist/utils/index.d.ts +19 -0
  296. package/dist/utils/index.js +25 -0
  297. package/dist/utils/index.js.map +1 -0
  298. package/dist/utils/wrappers.d.mts +14 -0
  299. package/dist/utils/wrappers.d.ts +14 -0
  300. package/dist/utils/wrappers.js +68 -0
  301. package/dist/utils/wrappers.js.map +1 -0
  302. package/examples/basic/404.html +12 -0
  303. package/examples/basic/README.md +30 -0
  304. package/examples/basic/app.ts +18 -0
  305. package/examples/basic/controller.ts +45 -0
  306. package/examples/basic/index.ts +19 -0
  307. package/examples/basic/middleware.ts +13 -0
  308. package/examples/basic/service.ts +11 -0
  309. package/package.json +60 -39
  310. package/src/app/index.ts +1 -0
  311. package/src/app/jimpex.ts +743 -0
  312. package/src/controllers/common/config.ts +115 -0
  313. package/src/controllers/common/health.ts +128 -0
  314. package/src/controllers/common/index.ts +3 -0
  315. package/src/controllers/common/statics.ts +380 -0
  316. package/src/controllers/index.ts +2 -0
  317. package/src/controllers/utils/gateway.ts +1186 -0
  318. package/src/controllers/utils/index.ts +1 -0
  319. package/src/index.ts +6 -0
  320. package/src/middlewares/common/errorHandler.ts +203 -0
  321. package/src/middlewares/common/forceHTTPS.ts +83 -0
  322. package/src/middlewares/common/hsts.ts +135 -0
  323. package/src/middlewares/common/index.ts +3 -0
  324. package/src/middlewares/html/fastHTML.ts +255 -0
  325. package/src/middlewares/html/index.ts +2 -0
  326. package/src/middlewares/html/showHTML.ts +165 -0
  327. package/src/middlewares/index.ts +3 -0
  328. package/src/middlewares/utils/index.ts +1 -0
  329. package/src/middlewares/utils/versionValidator.ts +289 -0
  330. package/src/services/common/appError.ts +158 -0
  331. package/src/services/common/httpError.ts +74 -0
  332. package/src/services/common/index.ts +29 -0
  333. package/src/services/common/sendFile.ts +106 -0
  334. package/src/services/frontend/frontendFs.ts +101 -0
  335. package/src/services/frontend/index.ts +21 -0
  336. package/src/services/html/htmlGenerator.ts +356 -0
  337. package/src/services/html/index.ts +21 -0
  338. package/src/services/http/apiClient.ts +221 -0
  339. package/src/services/http/http.ts +286 -0
  340. package/src/services/http/index.ts +29 -0
  341. package/src/services/http/responsesBuilder.ts +265 -0
  342. package/src/services/index.ts +5 -0
  343. package/src/services/utils/ensureBearerToken.ts +202 -0
  344. package/src/services/utils/index.ts +21 -0
  345. package/src/types/events.ts +303 -0
  346. package/src/types/express.ts +21 -0
  347. package/src/types/http.ts +77 -0
  348. package/src/types/index.ts +6 -0
  349. package/src/types/options.ts +248 -0
  350. package/src/types/utils.ts +52 -0
  351. package/src/types/wootils.ts +4 -0
  352. package/src/utils/fns/index.ts +4 -0
  353. package/src/utils/fns/others.ts +15 -0
  354. package/src/utils/fns/routes.ts +64 -0
  355. package/src/utils/fns/statuses.ts +44 -0
  356. package/src/utils/fns/text.ts +8 -0
  357. package/src/utils/index.ts +2 -0
  358. package/src/utils/wrappers.ts +537 -0
  359. package/tsconfig.json +5 -8
  360. package/tsup.config.ts +10 -0
  361. package/src/app/index.js +0 -692
  362. package/src/constants/eventNames.js +0 -48
  363. package/src/constants/index.js +0 -7
  364. package/src/controllers/common/configuration.js +0 -116
  365. package/src/controllers/common/health.js +0 -79
  366. package/src/controllers/common/index.js +0 -7
  367. package/src/controllers/common/statics.js +0 -336
  368. package/src/controllers/index.js +0 -9
  369. package/src/controllers/utils/gateway.js +0 -1039
  370. package/src/controllers/utils/index.js +0 -3
  371. package/src/index.js +0 -30
  372. package/src/middlewares/common/errorHandler.js +0 -185
  373. package/src/middlewares/common/forceHTTPS.js +0 -80
  374. package/src/middlewares/common/hsts.js +0 -122
  375. package/src/middlewares/common/index.js +0 -7
  376. package/src/middlewares/html/fastHTML.js +0 -298
  377. package/src/middlewares/html/index.js +0 -5
  378. package/src/middlewares/html/showHTML.js +0 -167
  379. package/src/middlewares/index.js +0 -11
  380. package/src/middlewares/utils/index.js +0 -3
  381. package/src/middlewares/utils/versionValidator.js +0 -261
  382. package/src/services/common/appError.js +0 -136
  383. package/src/services/common/httpError.js +0 -60
  384. package/src/services/common/index.js +0 -25
  385. package/src/services/common/sendFile.js +0 -68
  386. package/src/services/frontend/frontendFs.js +0 -85
  387. package/src/services/frontend/index.js +0 -17
  388. package/src/services/html/htmlGenerator.js +0 -391
  389. package/src/services/html/index.js +0 -17
  390. package/src/services/http/apiClient.js +0 -148
  391. package/src/services/http/http.js +0 -256
  392. package/src/services/http/index.js +0 -25
  393. package/src/services/http/responsesBuilder.js +0 -193
  394. package/src/services/index.js +0 -15
  395. package/src/services/utils/ensureBearerToken.js +0 -147
  396. package/src/services/utils/index.js +0 -19
  397. package/src/types.js +0 -377
  398. package/src/utils/functions.js +0 -78
  399. package/src/utils/wrappers.js +0 -131
  400. package/types/app/index.d.ts +0 -417
  401. package/types/constants/eventNames.d.ts +0 -93
  402. package/types/constants/index.d.ts +0 -2
  403. package/types/controllers/common/configuration.d.ts +0 -71
  404. package/types/controllers/common/health.d.ts +0 -55
  405. package/types/controllers/common/index.d.ts +0 -4
  406. package/types/controllers/common/statics.d.ts +0 -271
  407. package/types/controllers/index.d.ts +0 -3
  408. package/types/controllers/utils/gateway.d.ts +0 -947
  409. package/types/controllers/utils/index.d.ts +0 -2
  410. package/types/index.d.ts +0 -15
  411. package/types/middlewares/common/errorHandler.d.ts +0 -143
  412. package/types/middlewares/common/forceHTTPS.d.ts +0 -64
  413. package/types/middlewares/common/hsts.d.ts +0 -111
  414. package/types/middlewares/common/index.d.ts +0 -4
  415. package/types/middlewares/html/fastHTML.d.ts +0 -238
  416. package/types/middlewares/html/index.d.ts +0 -3
  417. package/types/middlewares/html/showHTML.d.ts +0 -128
  418. package/types/middlewares/index.d.ts +0 -4
  419. package/types/middlewares/utils/index.d.ts +0 -2
  420. package/types/middlewares/utils/versionValidator.d.ts +0 -247
  421. package/types/services/common/appError.d.ts +0 -89
  422. package/types/services/common/httpError.d.ts +0 -37
  423. package/types/services/common/index.d.ts +0 -18
  424. package/types/services/common/sendFile.d.ts +0 -56
  425. package/types/services/frontend/frontendFs.d.ts +0 -72
  426. package/types/services/frontend/index.d.ts +0 -3
  427. package/types/services/html/htmlGenerator.d.ts +0 -298
  428. package/types/services/html/index.d.ts +0 -3
  429. package/types/services/http/apiClient.d.ts +0 -141
  430. package/types/services/http/http.d.ts +0 -159
  431. package/types/services/http/index.d.ts +0 -18
  432. package/types/services/http/responsesBuilder.d.ts +0 -140
  433. package/types/services/index.d.ts +0 -6
  434. package/types/services/utils/ensureBearerToken.d.ts +0 -137
  435. package/types/services/utils/index.d.ts +0 -16
  436. package/types/types.d.ts +0 -280
  437. package/types/utils/functions.d.ts +0 -55
  438. package/types/utils/wrappers.d.ts +0 -127
@@ -0,0 +1,69 @@
1
+ import * as _homer0_jimple from '@homer0/jimple';
2
+ import { J as Jimpex, R as MiddlewareConnectFn } from '../../index-b2a04c78.js';
3
+ import { ExpressMiddleware } from '../../types/express.js';
4
+ import '../../types/http.js';
5
+ import 'https';
6
+ import 'http';
7
+ import 'spdy';
8
+ import 'express';
9
+ import 'node-fetch';
10
+ import '../../types/utils.js';
11
+ import '@homer0/path-utils';
12
+ import '@homer0/simple-logger';
13
+ import '@homer0/simple-config';
14
+ import '@homer0/events-hub';
15
+
16
+ /**
17
+ * The customization options for the middleware.
18
+ *
19
+ * @group Middlewares/ForceHTTPS
20
+ */
21
+ type ForceHTTPSOptions = {
22
+ /**
23
+ * A list of regular expressions to match routes that should be ignored.
24
+ *
25
+ * @default [/^\/service\//]
26
+ */
27
+ ignoredRoutes: RegExp[];
28
+ };
29
+ /**
30
+ * A partial version of the {@link ForceHTTPSOptions}, to be used in the constructor and
31
+ * the middleware creator.
32
+ *
33
+ * @group Middlewares/ForceHTTPS
34
+ */
35
+ type ForceHTTPSPartialOptions = Partial<ForceHTTPSOptions>;
36
+ /**
37
+ * Creates a middleware that forces all the traffic to be through HTTPS.
38
+ *
39
+ * @group Middleware Classes
40
+ * @group Middlewares/ForceHTTPS
41
+ * @prettierignore
42
+ */
43
+ declare class ForceHTTPS {
44
+ /**
45
+ * The customization options.
46
+ */
47
+ protected readonly _options: ForceHTTPSOptions;
48
+ /**
49
+ * @param options The options to construct the class.
50
+ */
51
+ constructor(options?: ForceHTTPSPartialOptions);
52
+ /**
53
+ * Generates the middleware that redirects the traffic.
54
+ */
55
+ getMiddleware(): ExpressMiddleware;
56
+ /**
57
+ * The customization options.
58
+ */
59
+ get options(): Readonly<ForceHTTPSOptions>;
60
+ }
61
+ /**
62
+ * Creates the middleware that redirects the traffic to HTTPS.
63
+ *
64
+ * @group Middlewares
65
+ * @group Middlewares/ForceHTTPS
66
+ */
67
+ declare const forceHTTPSMiddleware: _homer0_jimple.ResourceCreator<"middleware", "connect", (options?: ForceHTTPSPartialOptions) => <ContainerType extends Jimpex = Jimpex>(app: ContainerType) => ExpressMiddleware | undefined, MiddlewareConnectFn>;
68
+
69
+ export { ForceHTTPS, ForceHTTPSOptions, ForceHTTPSPartialOptions, forceHTTPSMiddleware };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var __publicField = (obj, key, value) => {
21
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
22
+ return value;
23
+ };
24
+ var forceHTTPS_exports = {};
25
+ __export(forceHTTPS_exports, {
26
+ ForceHTTPS: () => ForceHTTPS,
27
+ forceHTTPSMiddleware: () => forceHTTPSMiddleware
28
+ });
29
+ module.exports = __toCommonJS(forceHTTPS_exports);
30
+ var import_utils = require("../../utils");
31
+ class ForceHTTPS {
32
+ /**
33
+ * @param options The options to construct the class.
34
+ */
35
+ constructor(options = {}) {
36
+ /**
37
+ * The customization options.
38
+ */
39
+ __publicField(this, "_options");
40
+ this._options = {
41
+ ignoredRoutes: [/^\/service\//],
42
+ ...options
43
+ };
44
+ }
45
+ /**
46
+ * Generates the middleware that redirects the traffic.
47
+ */
48
+ getMiddleware() {
49
+ return (req, res, next) => {
50
+ if (!req.secure && req.get("X-Forwarded-Proto") !== "https" && !this._options.ignoredRoutes.some(
51
+ (expression) => expression.test(req.originalUrl)
52
+ )) {
53
+ const host = req.get("Host");
54
+ res.redirect(`https://${host}${req.url}`);
55
+ } else {
56
+ next();
57
+ }
58
+ };
59
+ }
60
+ /**
61
+ * The customization options.
62
+ */
63
+ get options() {
64
+ return { ...this._options };
65
+ }
66
+ }
67
+ const forceHTTPSMiddleware = (0, import_utils.middlewareCreator)(
68
+ (options = {}) => (app) => {
69
+ const enabled = app.getConfig("forceHTTPS");
70
+ if (!enabled)
71
+ return void 0;
72
+ return new ForceHTTPS(options).getMiddleware();
73
+ }
74
+ );
75
+ // Annotate the CommonJS export names for ESM import in node:
76
+ 0 && (module.exports = {
77
+ ForceHTTPS,
78
+ forceHTTPSMiddleware
79
+ });
80
+ //# sourceMappingURL=forceHTTPS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/middlewares/common/forceHTTPS.ts"],"sourcesContent":["import { middlewareCreator } from '../../utils';\nimport { ExpressMiddleware } from '../../types';\n/**\n * The customization options for the middleware.\n *\n * @group Middlewares/ForceHTTPS\n */\nexport type ForceHTTPSOptions = {\n /**\n * A list of regular expressions to match routes that should be ignored.\n *\n * @default [/^\\/service\\//]\n */\n ignoredRoutes: RegExp[];\n};\n/**\n * A partial version of the {@link ForceHTTPSOptions}, to be used in the constructor and\n * the middleware creator.\n *\n * @group Middlewares/ForceHTTPS\n */\nexport type ForceHTTPSPartialOptions = Partial<ForceHTTPSOptions>;\n/**\n * Creates a middleware that forces all the traffic to be through HTTPS.\n *\n * @group Middleware Classes\n * @group Middlewares/ForceHTTPS\n * @prettierignore\n */\nexport class ForceHTTPS {\n /**\n * The customization options.\n */\n protected readonly _options: ForceHTTPSOptions;\n /**\n * @param options The options to construct the class.\n */\n constructor(options: ForceHTTPSPartialOptions = {}) {\n this._options = {\n ignoredRoutes: [/^\\/service\\//],\n ...options,\n };\n }\n /**\n * Generates the middleware that redirects the traffic.\n */\n getMiddleware(): ExpressMiddleware {\n return (req, res, next) => {\n if (\n !req.secure &&\n req.get('X-Forwarded-Proto') !== 'https' &&\n !this._options.ignoredRoutes.some((expression) =>\n expression.test(req.originalUrl),\n )\n ) {\n const host = req.get('Host');\n res.redirect(`https://${host}${req.url}`);\n } else {\n next();\n }\n };\n }\n /**\n * The customization options.\n */\n get options(): Readonly<ForceHTTPSOptions> {\n return { ...this._options };\n }\n}\n/**\n * Creates the middleware that redirects the traffic to HTTPS.\n *\n * @group Middlewares\n * @group Middlewares/ForceHTTPS\n */\nexport const forceHTTPSMiddleware = middlewareCreator(\n (options: ForceHTTPSPartialOptions = {}) =>\n (app) => {\n const enabled = app.getConfig<boolean | undefined>('forceHTTPS');\n if (!enabled) return undefined;\n return new ForceHTTPS(options).getMiddleware();\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AA6B3B,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA,EAQtB,YAAY,UAAoC,CAAC,GAAG;AAJpD;AAAA;AAAA;AAAA,wBAAmB;AAKjB,SAAK,WAAW;AAAA,MACd,eAAe,CAAC,cAAc;AAAA,MAC9B,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,gBAAmC;AACjC,WAAO,CAAC,KAAK,KAAK,SAAS;AACzB,UACE,CAAC,IAAI,UACL,IAAI,IAAI,mBAAmB,MAAM,WACjC,CAAC,KAAK,SAAS,cAAc;AAAA,QAAK,CAAC,eACjC,WAAW,KAAK,IAAI,WAAW;AAAA,MACjC,GACA;AACA,cAAM,OAAO,IAAI,IAAI,MAAM;AAC3B,YAAI,SAAS,WAAW,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,MAC1C,OAAO;AACL,aAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,UAAuC;AACzC,WAAO,EAAE,GAAG,KAAK,SAAS;AAAA,EAC5B;AACF;AAOO,MAAM,2BAAuB;AAAA,EAClC,CAAC,UAAoC,CAAC,MACpC,CAAC,QAAQ;AACP,UAAM,UAAU,IAAI,UAA+B,YAAY;AAC/D,QAAI,CAAC;AAAS,aAAO;AACrB,WAAO,IAAI,WAAW,OAAO,EAAE,cAAc;AAAA,EAC/C;AACJ;","names":[]}
@@ -0,0 +1,110 @@
1
+ import * as _homer0_jimple from '@homer0/jimple';
2
+ import { J as Jimpex, R as MiddlewareConnectFn } from '../../index-efeb437e.js';
3
+ import { ExpressMiddleware } from '../../types/express.mjs';
4
+ import '../../types/http.mjs';
5
+ import 'https';
6
+ import 'http';
7
+ import 'spdy';
8
+ import 'express';
9
+ import 'node-fetch';
10
+ import '../../types/utils.mjs';
11
+ import '@homer0/path-utils';
12
+ import '@homer0/simple-logger';
13
+ import '@homer0/simple-config';
14
+ import '@homer0/events-hub';
15
+
16
+ /**
17
+ * The options to customize the HSTS header value.
18
+ *
19
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security}
20
+ * @group Middlewares/HSTS
21
+ */
22
+ type HSTSMiddlewareOptions = {
23
+ /**
24
+ * The time, in seconds, that the browser should remember that a site is only to be
25
+ * accessed using HTTPS.
26
+ *
27
+ * @default 31536000
28
+ */
29
+ maxAge: number;
30
+ /**
31
+ * Whether or not the rule should apply to all sub domains.
32
+ *
33
+ * @default true
34
+ */
35
+ includeSubDomains: boolean;
36
+ /**
37
+ * Whether or not to include on the major browsers'
38
+ * preload list. This directive is not part of the specification, for more information
39
+ * about it, you should check the MDN documentation for the header.
40
+ *
41
+ * @default false
42
+ */
43
+ preload: boolean;
44
+ };
45
+ /**
46
+ * A partial version of the {@link HSTSMiddlewareOptions}, to be used in the constructor
47
+ * and the middleware creator.
48
+ *
49
+ * @group Middlewares/HSTS
50
+ */
51
+ type HSTSMiddlewarePartialOptions = Partial<HSTSMiddlewareOptions>;
52
+ /**
53
+ * The options for the middleware creator that will create the middleware, or not,
54
+ * depending on the `enabled` option.
55
+ *
56
+ * @group Middlewares/HSTS
57
+ */
58
+ type HSTSMiddlewareSettings = HSTSMiddlewarePartialOptions & {
59
+ /**
60
+ * If it's not `true`, it won't return the middleware.
61
+ */
62
+ enabled?: boolean;
63
+ };
64
+ /**
65
+ * Generates a middleware that includes the HSTS header on the responses.
66
+ *
67
+ * @see {@link https://tools.ietf.org/html/rfc6797}
68
+ * @group Middleware Classes
69
+ * @group Middlewares/HSTS
70
+ * @prettierignore
71
+ */
72
+ declare class HSTS {
73
+ /**
74
+ * The customization options for the header.
75
+ */
76
+ protected readonly _options: HSTSMiddlewareOptions;
77
+ /**
78
+ * The value of the header that will be included in the responses.
79
+ */
80
+ protected readonly _header: string;
81
+ /**
82
+ * @param options The options to construct the class.
83
+ */
84
+ constructor(options?: HSTSMiddlewarePartialOptions);
85
+ /**
86
+ * Generates the middleware that includes the HSTS header on the responses.
87
+ */
88
+ getMiddleware(): ExpressMiddleware;
89
+ /**
90
+ * The customization options.
91
+ */
92
+ get options(): Readonly<HSTSMiddlewareOptions>;
93
+ /**
94
+ * The value of the header that will be included in the responses.
95
+ */
96
+ get header(): string;
97
+ /**
98
+ * Creates the header value based on the customization options.
99
+ */
100
+ protected _buildHeader(): string;
101
+ }
102
+ /**
103
+ * Creates the middleware that includes the HSTS header on the responses.
104
+ *
105
+ * @group Middlewares
106
+ * @group Middlewares/HSTS
107
+ */
108
+ declare const hstsMiddleware: _homer0_jimple.ResourceCreator<"middleware", "connect", (options?: HSTSMiddlewareSettings) => <ContainerType extends Jimpex = Jimpex>(app: ContainerType) => ExpressMiddleware | undefined, MiddlewareConnectFn>;
109
+
110
+ export { HSTS, HSTSMiddlewareOptions, HSTSMiddlewarePartialOptions, HSTSMiddlewareSettings, hstsMiddleware };
@@ -0,0 +1,110 @@
1
+ import * as _homer0_jimple from '@homer0/jimple';
2
+ import { J as Jimpex, R as MiddlewareConnectFn } from '../../index-b2a04c78.js';
3
+ import { ExpressMiddleware } from '../../types/express.js';
4
+ import '../../types/http.js';
5
+ import 'https';
6
+ import 'http';
7
+ import 'spdy';
8
+ import 'express';
9
+ import 'node-fetch';
10
+ import '../../types/utils.js';
11
+ import '@homer0/path-utils';
12
+ import '@homer0/simple-logger';
13
+ import '@homer0/simple-config';
14
+ import '@homer0/events-hub';
15
+
16
+ /**
17
+ * The options to customize the HSTS header value.
18
+ *
19
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security}
20
+ * @group Middlewares/HSTS
21
+ */
22
+ type HSTSMiddlewareOptions = {
23
+ /**
24
+ * The time, in seconds, that the browser should remember that a site is only to be
25
+ * accessed using HTTPS.
26
+ *
27
+ * @default 31536000
28
+ */
29
+ maxAge: number;
30
+ /**
31
+ * Whether or not the rule should apply to all sub domains.
32
+ *
33
+ * @default true
34
+ */
35
+ includeSubDomains: boolean;
36
+ /**
37
+ * Whether or not to include on the major browsers'
38
+ * preload list. This directive is not part of the specification, for more information
39
+ * about it, you should check the MDN documentation for the header.
40
+ *
41
+ * @default false
42
+ */
43
+ preload: boolean;
44
+ };
45
+ /**
46
+ * A partial version of the {@link HSTSMiddlewareOptions}, to be used in the constructor
47
+ * and the middleware creator.
48
+ *
49
+ * @group Middlewares/HSTS
50
+ */
51
+ type HSTSMiddlewarePartialOptions = Partial<HSTSMiddlewareOptions>;
52
+ /**
53
+ * The options for the middleware creator that will create the middleware, or not,
54
+ * depending on the `enabled` option.
55
+ *
56
+ * @group Middlewares/HSTS
57
+ */
58
+ type HSTSMiddlewareSettings = HSTSMiddlewarePartialOptions & {
59
+ /**
60
+ * If it's not `true`, it won't return the middleware.
61
+ */
62
+ enabled?: boolean;
63
+ };
64
+ /**
65
+ * Generates a middleware that includes the HSTS header on the responses.
66
+ *
67
+ * @see {@link https://tools.ietf.org/html/rfc6797}
68
+ * @group Middleware Classes
69
+ * @group Middlewares/HSTS
70
+ * @prettierignore
71
+ */
72
+ declare class HSTS {
73
+ /**
74
+ * The customization options for the header.
75
+ */
76
+ protected readonly _options: HSTSMiddlewareOptions;
77
+ /**
78
+ * The value of the header that will be included in the responses.
79
+ */
80
+ protected readonly _header: string;
81
+ /**
82
+ * @param options The options to construct the class.
83
+ */
84
+ constructor(options?: HSTSMiddlewarePartialOptions);
85
+ /**
86
+ * Generates the middleware that includes the HSTS header on the responses.
87
+ */
88
+ getMiddleware(): ExpressMiddleware;
89
+ /**
90
+ * The customization options.
91
+ */
92
+ get options(): Readonly<HSTSMiddlewareOptions>;
93
+ /**
94
+ * The value of the header that will be included in the responses.
95
+ */
96
+ get header(): string;
97
+ /**
98
+ * Creates the header value based on the customization options.
99
+ */
100
+ protected _buildHeader(): string;
101
+ }
102
+ /**
103
+ * Creates the middleware that includes the HSTS header on the responses.
104
+ *
105
+ * @group Middlewares
106
+ * @group Middlewares/HSTS
107
+ */
108
+ declare const hstsMiddleware: _homer0_jimple.ResourceCreator<"middleware", "connect", (options?: HSTSMiddlewareSettings) => <ContainerType extends Jimpex = Jimpex>(app: ContainerType) => ExpressMiddleware | undefined, MiddlewareConnectFn>;
109
+
110
+ export { HSTS, HSTSMiddlewareOptions, HSTSMiddlewarePartialOptions, HSTSMiddlewareSettings, hstsMiddleware };
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var __publicField = (obj, key, value) => {
21
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
22
+ return value;
23
+ };
24
+ var hsts_exports = {};
25
+ __export(hsts_exports, {
26
+ HSTS: () => HSTS,
27
+ hstsMiddleware: () => hstsMiddleware
28
+ });
29
+ module.exports = __toCommonJS(hsts_exports);
30
+ var import_utils = require("../../utils");
31
+ class HSTS {
32
+ /**
33
+ * @param options The options to construct the class.
34
+ */
35
+ constructor(options = {}) {
36
+ /**
37
+ * The customization options for the header.
38
+ */
39
+ __publicField(this, "_options");
40
+ /**
41
+ * The value of the header that will be included in the responses.
42
+ */
43
+ __publicField(this, "_header");
44
+ this._options = {
45
+ maxAge: 31536e3,
46
+ includeSubDomains: true,
47
+ preload: false,
48
+ ...options
49
+ };
50
+ this._header = this._buildHeader();
51
+ }
52
+ /**
53
+ * Generates the middleware that includes the HSTS header on the responses.
54
+ */
55
+ getMiddleware() {
56
+ return (_, res, next) => {
57
+ res.setHeader("Strict-Transport-Security", this._header);
58
+ next();
59
+ };
60
+ }
61
+ /**
62
+ * The customization options.
63
+ */
64
+ get options() {
65
+ return { ...this._options };
66
+ }
67
+ /**
68
+ * The value of the header that will be included in the responses.
69
+ */
70
+ get header() {
71
+ return this._header;
72
+ }
73
+ /**
74
+ * Creates the header value based on the customization options.
75
+ */
76
+ _buildHeader() {
77
+ const { maxAge, includeSubDomains, preload } = this._options;
78
+ const directives = [`max-age=${maxAge}`];
79
+ if (includeSubDomains) {
80
+ directives.push("includeSubDomains");
81
+ }
82
+ if (preload) {
83
+ directives.push("preload");
84
+ }
85
+ return directives.join("; ");
86
+ }
87
+ }
88
+ const hstsMiddleware = (0, import_utils.middlewareCreator)(
89
+ (options = {}) => (app) => {
90
+ const setting = app.getConfig("hsts");
91
+ if (!setting?.enabled || typeof options.enabled !== "undefined" && !options.enabled)
92
+ return void 0;
93
+ return new HSTS(options).getMiddleware();
94
+ }
95
+ );
96
+ // Annotate the CommonJS export names for ESM import in node:
97
+ 0 && (module.exports = {
98
+ HSTS,
99
+ hstsMiddleware
100
+ });
101
+ //# sourceMappingURL=hsts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/middlewares/common/hsts.ts"],"sourcesContent":["import { middlewareCreator } from '../../utils';\nimport { ExpressMiddleware } from '../../types';\n/**\n * The options to customize the HSTS header value.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security}\n * @group Middlewares/HSTS\n */\nexport type HSTSMiddlewareOptions = {\n /**\n * The time, in seconds, that the browser should remember that a site is only to be\n * accessed using HTTPS.\n *\n * @default 31536000\n */\n maxAge: number;\n /**\n * Whether or not the rule should apply to all sub domains.\n *\n * @default true\n */\n includeSubDomains: boolean;\n /**\n * Whether or not to include on the major browsers'\n * preload list. This directive is not part of the specification, for more information\n * about it, you should check the MDN documentation for the header.\n *\n * @default false\n */\n preload: boolean;\n};\n/**\n * A partial version of the {@link HSTSMiddlewareOptions}, to be used in the constructor\n * and the middleware creator.\n *\n * @group Middlewares/HSTS\n */\nexport type HSTSMiddlewarePartialOptions = Partial<HSTSMiddlewareOptions>;\n/**\n * The options for the middleware creator that will create the middleware, or not,\n * depending on the `enabled` option.\n *\n * @group Middlewares/HSTS\n */\nexport type HSTSMiddlewareSettings = HSTSMiddlewarePartialOptions & {\n /**\n * If it's not `true`, it won't return the middleware.\n */\n enabled?: boolean;\n};\n/**\n * Generates a middleware that includes the HSTS header on the responses.\n *\n * @see {@link https://tools.ietf.org/html/rfc6797}\n * @group Middleware Classes\n * @group Middlewares/HSTS\n * @prettierignore\n */\nexport class HSTS {\n /**\n * The customization options for the header.\n */\n protected readonly _options: HSTSMiddlewareOptions;\n /**\n * The value of the header that will be included in the responses.\n */\n protected readonly _header: string;\n /**\n * @param options The options to construct the class.\n */\n constructor(options: HSTSMiddlewarePartialOptions = {}) {\n this._options = {\n maxAge: 31536000,\n includeSubDomains: true,\n preload: false,\n ...options,\n };\n this._header = this._buildHeader();\n }\n /**\n * Generates the middleware that includes the HSTS header on the responses.\n */\n getMiddleware(): ExpressMiddleware {\n return (_, res, next) => {\n res.setHeader('Strict-Transport-Security', this._header);\n next();\n };\n }\n /**\n * The customization options.\n */\n get options(): Readonly<HSTSMiddlewareOptions> {\n return { ...this._options };\n }\n /**\n * The value of the header that will be included in the responses.\n */\n get header(): string {\n return this._header;\n }\n /**\n * Creates the header value based on the customization options.\n */\n protected _buildHeader(): string {\n const { maxAge, includeSubDomains, preload } = this._options;\n const directives = [`max-age=${maxAge}`];\n if (includeSubDomains) {\n directives.push('includeSubDomains');\n }\n\n if (preload) {\n directives.push('preload');\n }\n\n return directives.join('; ');\n }\n}\n/**\n * Creates the middleware that includes the HSTS header on the responses.\n *\n * @group Middlewares\n * @group Middlewares/HSTS\n */\nexport const hstsMiddleware = middlewareCreator(\n (options: HSTSMiddlewareSettings = {}) =>\n (app) => {\n const setting = app.getConfig<HSTSMiddlewareSettings | undefined>('hsts');\n if (\n !setting?.enabled ||\n (typeof options.enabled !== 'undefined' && !options.enabled)\n )\n return undefined;\n return new HSTS(options).getMiddleware();\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AA0D3B,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA,EAYhB,YAAY,UAAwC,CAAC,GAAG;AARxD;AAAA;AAAA;AAAA,wBAAmB;AAInB;AAAA;AAAA;AAAA,wBAAmB;AAKjB,SAAK,WAAW;AAAA,MACd,QAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,SAAS;AAAA,MACT,GAAG;AAAA,IACL;AACA,SAAK,UAAU,KAAK,aAAa;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAIA,gBAAmC;AACjC,WAAO,CAAC,GAAG,KAAK,SAAS;AACvB,UAAI,UAAU,6BAA6B,KAAK,OAAO;AACvD,WAAK;AAAA,IACP;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,UAA2C;AAC7C,WAAO,EAAE,GAAG,KAAK,SAAS;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,SAAiB;AACnB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAIU,eAAuB;AAC/B,UAAM,EAAE,QAAQ,mBAAmB,QAAQ,IAAI,KAAK;AACpD,UAAM,aAAa,CAAC,WAAW,MAAM,EAAE;AACvC,QAAI,mBAAmB;AACrB,iBAAW,KAAK,mBAAmB;AAAA,IACrC;AAEA,QAAI,SAAS;AACX,iBAAW,KAAK,SAAS;AAAA,IAC3B;AAEA,WAAO,WAAW,KAAK,IAAI;AAAA,EAC7B;AACF;AAOO,MAAM,qBAAiB;AAAA,EAC5B,CAAC,UAAkC,CAAC,MAClC,CAAC,QAAQ;AACP,UAAM,UAAU,IAAI,UAA8C,MAAM;AACxE,QACE,CAAC,SAAS,WACT,OAAO,QAAQ,YAAY,eAAe,CAAC,QAAQ;AAEpD,aAAO;AACT,WAAO,IAAI,KAAK,OAAO,EAAE,cAAc;AAAA,EACzC;AACJ;","names":[]}
@@ -0,0 +1,22 @@
1
+ export { ErrorHandler, ErrorHandlerConstructorOptions, ErrorHandlerOptions, ErrorHandlerPartialOptions, ErrorHandlerResponseOptions, errorHandlerMiddleware } from './errorHandler.mjs';
2
+ export { ForceHTTPS, ForceHTTPSOptions, ForceHTTPSPartialOptions, forceHTTPSMiddleware } from './forceHTTPS.mjs';
3
+ export { HSTS, HSTSMiddlewareOptions, HSTSMiddlewarePartialOptions, HSTSMiddlewareSettings, hstsMiddleware } from './hsts.mjs';
4
+ import '@homer0/jimple';
5
+ import '../../utils/fns/statuses.mjs';
6
+ import 'statuses';
7
+ import '../../index-efeb437e.js';
8
+ import '../../types/express.mjs';
9
+ import 'express';
10
+ import '../../types/http.mjs';
11
+ import 'https';
12
+ import 'http';
13
+ import 'spdy';
14
+ import 'node-fetch';
15
+ import '../../types/utils.mjs';
16
+ import '@homer0/path-utils';
17
+ import '@homer0/simple-logger';
18
+ import '@homer0/simple-config';
19
+ import '@homer0/events-hub';
20
+ import '../../services/common/httpError.mjs';
21
+ import '../../services/common/appError.mjs';
22
+ import '../../services/http/responsesBuilder.mjs';
@@ -0,0 +1,22 @@
1
+ export { ErrorHandler, ErrorHandlerConstructorOptions, ErrorHandlerOptions, ErrorHandlerPartialOptions, ErrorHandlerResponseOptions, errorHandlerMiddleware } from './errorHandler.js';
2
+ export { ForceHTTPS, ForceHTTPSOptions, ForceHTTPSPartialOptions, forceHTTPSMiddleware } from './forceHTTPS.js';
3
+ export { HSTS, HSTSMiddlewareOptions, HSTSMiddlewarePartialOptions, HSTSMiddlewareSettings, hstsMiddleware } from './hsts.js';
4
+ import '@homer0/jimple';
5
+ import '../../utils/fns/statuses.js';
6
+ import 'statuses';
7
+ import '../../index-b2a04c78.js';
8
+ import '../../types/express.js';
9
+ import 'express';
10
+ import '../../types/http.js';
11
+ import 'https';
12
+ import 'http';
13
+ import 'spdy';
14
+ import 'node-fetch';
15
+ import '../../types/utils.js';
16
+ import '@homer0/path-utils';
17
+ import '@homer0/simple-logger';
18
+ import '@homer0/simple-config';
19
+ import '@homer0/events-hub';
20
+ import '../../services/common/httpError.js';
21
+ import '../../services/common/appError.js';
22
+ import '../../services/http/responsesBuilder.js';
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var common_exports = {};
17
+ module.exports = __toCommonJS(common_exports);
18
+ __reExport(common_exports, require("./errorHandler"), module.exports);
19
+ __reExport(common_exports, require("./forceHTTPS"), module.exports);
20
+ __reExport(common_exports, require("./hsts"), module.exports);
21
+ // Annotate the CommonJS export names for ESM import in node:
22
+ 0 && (module.exports = {
23
+ ...require("./errorHandler"),
24
+ ...require("./forceHTTPS"),
25
+ ...require("./hsts")
26
+ });
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/middlewares/common/index.ts"],"sourcesContent":["export * from './errorHandler';\nexport * from './forceHTTPS';\nexport * from './hsts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,2BAAd;AACA,2BAAc,yBADd;AAEA,2BAAc,mBAFd;","names":[]}