jimpex 7.0.2 → 8.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 (388) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/LICENSE +1 -1
  3. package/README.md +446 -434
  4. package/dist/app/index.d.ts +13 -0
  5. package/dist/app/index.js +19 -0
  6. package/dist/app/index.js.map +1 -0
  7. package/dist/app/jimpex.d.ts +13 -0
  8. package/dist/app/jimpex.js +440 -0
  9. package/dist/app/jimpex.js.map +1 -0
  10. package/dist/controllers/common/config.d.ts +78 -0
  11. package/dist/controllers/common/config.js +89 -0
  12. package/dist/controllers/common/config.js.map +1 -0
  13. package/dist/controllers/common/health.d.ts +82 -0
  14. package/dist/controllers/common/health.js +97 -0
  15. package/dist/controllers/common/health.js.map +1 -0
  16. package/dist/controllers/common/index.d.ts +21 -0
  17. package/dist/controllers/common/index.js +21 -0
  18. package/dist/controllers/common/index.js.map +1 -0
  19. package/dist/controllers/common/statics.d.ts +215 -0
  20. package/dist/controllers/common/statics.js +202 -0
  21. package/dist/controllers/common/statics.js.map +1 -0
  22. package/dist/controllers/index.d.ts +24 -0
  23. package/dist/controllers/index.js +20 -0
  24. package/dist/controllers/index.js.map +1 -0
  25. package/dist/controllers/utils/gateway.d.ts +724 -0
  26. package/dist/controllers/utils/gateway.js +425 -0
  27. package/dist/controllers/utils/gateway.js.map +1 -0
  28. package/dist/controllers/utils/index.d.ts +16 -0
  29. package/dist/controllers/utils/index.js +19 -0
  30. package/dist/controllers/utils/index.js.map +1 -0
  31. package/dist/esm/app/index.js +2 -0
  32. package/dist/esm/app/index.js.map +1 -0
  33. package/dist/esm/app/jimpex.js +415 -0
  34. package/dist/esm/app/jimpex.js.map +1 -0
  35. package/dist/esm/chunk-T2T6Q22Z.js +11 -0
  36. package/dist/esm/chunk-T2T6Q22Z.js.map +1 -0
  37. package/dist/esm/controllers/common/config.js +62 -0
  38. package/dist/esm/controllers/common/config.js.map +1 -0
  39. package/dist/esm/controllers/common/health.js +70 -0
  40. package/dist/esm/controllers/common/health.js.map +1 -0
  41. package/dist/esm/controllers/common/index.js +4 -0
  42. package/dist/esm/controllers/common/index.js.map +1 -0
  43. package/dist/esm/controllers/common/statics.js +173 -0
  44. package/dist/esm/controllers/common/statics.js.map +1 -0
  45. package/dist/esm/controllers/index.js +3 -0
  46. package/dist/esm/controllers/index.js.map +1 -0
  47. package/dist/esm/controllers/utils/gateway.js +404 -0
  48. package/dist/esm/controllers/utils/gateway.js.map +1 -0
  49. package/dist/esm/controllers/utils/index.js +2 -0
  50. package/dist/esm/controllers/utils/index.js.map +1 -0
  51. package/dist/esm/index.js +7 -0
  52. package/dist/esm/index.js.map +1 -0
  53. package/dist/esm/middlewares/common/errorHandler.js +92 -0
  54. package/dist/esm/middlewares/common/errorHandler.js.map +1 -0
  55. package/dist/esm/middlewares/common/forceHTTPS.js +41 -0
  56. package/dist/esm/middlewares/common/forceHTTPS.js.map +1 -0
  57. package/dist/esm/middlewares/common/hsts.js +53 -0
  58. package/dist/esm/middlewares/common/hsts.js.map +1 -0
  59. package/dist/esm/middlewares/common/index.js +4 -0
  60. package/dist/esm/middlewares/common/index.js.map +1 -0
  61. package/dist/esm/middlewares/html/fastHTML.js +104 -0
  62. package/dist/esm/middlewares/html/fastHTML.js.map +1 -0
  63. package/dist/esm/middlewares/html/index.js +3 -0
  64. package/dist/esm/middlewares/html/index.js.map +1 -0
  65. package/dist/esm/middlewares/html/showHTML.js +68 -0
  66. package/dist/esm/middlewares/html/showHTML.js.map +1 -0
  67. package/dist/esm/middlewares/index.js +4 -0
  68. package/dist/esm/middlewares/index.js.map +1 -0
  69. package/dist/esm/middlewares/utils/index.js +2 -0
  70. package/dist/esm/middlewares/utils/index.js.map +1 -0
  71. package/dist/esm/middlewares/utils/versionValidator.js +101 -0
  72. package/dist/esm/middlewares/utils/versionValidator.js.map +1 -0
  73. package/dist/esm/services/common/appError.js +52 -0
  74. package/dist/esm/services/common/appError.js.map +1 -0
  75. package/dist/esm/services/common/httpError.js +19 -0
  76. package/dist/esm/services/common/httpError.js.map +1 -0
  77. package/dist/esm/services/common/index.js +17 -0
  78. package/dist/esm/services/common/index.js.map +1 -0
  79. package/dist/esm/services/common/sendFile.js +27 -0
  80. package/dist/esm/services/common/sendFile.js.map +1 -0
  81. package/dist/esm/services/frontend/frontendFs.js +38 -0
  82. package/dist/esm/services/frontend/frontendFs.js.map +1 -0
  83. package/dist/esm/services/frontend/index.js +11 -0
  84. package/dist/esm/services/frontend/index.js.map +1 -0
  85. package/dist/esm/services/html/htmlGenerator.js +144 -0
  86. package/dist/esm/services/html/htmlGenerator.js.map +1 -0
  87. package/dist/esm/services/html/index.js +11 -0
  88. package/dist/esm/services/html/index.js.map +1 -0
  89. package/dist/esm/services/http/apiClient.js +71 -0
  90. package/dist/esm/services/http/apiClient.js.map +1 -0
  91. package/dist/esm/services/http/http.js +125 -0
  92. package/dist/esm/services/http/http.js.map +1 -0
  93. package/dist/esm/services/http/index.js +17 -0
  94. package/dist/esm/services/http/index.js.map +1 -0
  95. package/dist/esm/services/http/responsesBuilder.js +105 -0
  96. package/dist/esm/services/http/responsesBuilder.js.map +1 -0
  97. package/dist/esm/services/index.js +6 -0
  98. package/dist/esm/services/index.js.map +1 -0
  99. package/dist/esm/services/utils/ensureBearerToken.js +78 -0
  100. package/dist/esm/services/utils/ensureBearerToken.js.map +1 -0
  101. package/dist/esm/services/utils/index.js +11 -0
  102. package/dist/esm/services/utils/index.js.map +1 -0
  103. package/dist/esm/types/events.js +1 -0
  104. package/dist/esm/types/events.js.map +1 -0
  105. package/dist/esm/types/express.js +1 -0
  106. package/dist/esm/types/express.js.map +1 -0
  107. package/dist/esm/types/http.js +1 -0
  108. package/dist/esm/types/http.js.map +1 -0
  109. package/dist/esm/types/index.js +7 -0
  110. package/dist/esm/types/index.js.map +1 -0
  111. package/dist/esm/types/options.js +1 -0
  112. package/dist/esm/types/options.js.map +1 -0
  113. package/dist/esm/types/utils.js +1 -0
  114. package/dist/esm/types/utils.js.map +1 -0
  115. package/dist/esm/types/wootils.js +1 -0
  116. package/dist/esm/types/wootils.js.map +1 -0
  117. package/dist/esm/utils/fns/index.js +5 -0
  118. package/dist/esm/utils/fns/index.js.map +1 -0
  119. package/dist/esm/utils/fns/others.js +6 -0
  120. package/dist/esm/utils/fns/others.js.map +1 -0
  121. package/dist/esm/utils/fns/routes.js +25 -0
  122. package/dist/esm/utils/fns/routes.js.map +1 -0
  123. package/dist/esm/utils/fns/statuses.js +6 -0
  124. package/dist/esm/utils/fns/statuses.js.map +1 -0
  125. package/dist/esm/utils/fns/text.js +6 -0
  126. package/dist/esm/utils/fns/text.js.map +1 -0
  127. package/dist/esm/utils/index.js +3 -0
  128. package/dist/esm/utils/index.js.map +1 -0
  129. package/dist/esm/utils/wrappers.js +41 -0
  130. package/dist/esm/utils/wrappers.js.map +1 -0
  131. package/dist/index.d.ts +46 -0
  132. package/dist/index.js +24 -0
  133. package/dist/index.js.map +1 -0
  134. package/dist/jimpex-7eaee271.d.ts +1278 -0
  135. package/dist/middlewares/common/errorHandler.d.ts +131 -0
  136. package/dist/middlewares/common/errorHandler.js +119 -0
  137. package/dist/middlewares/common/errorHandler.js.map +1 -0
  138. package/dist/middlewares/common/forceHTTPS.d.ts +68 -0
  139. package/dist/middlewares/common/forceHTTPS.js +68 -0
  140. package/dist/middlewares/common/forceHTTPS.js.map +1 -0
  141. package/dist/middlewares/common/hsts.d.ts +109 -0
  142. package/dist/middlewares/common/hsts.js +80 -0
  143. package/dist/middlewares/common/hsts.js.map +1 -0
  144. package/dist/middlewares/common/index.d.ts +21 -0
  145. package/dist/middlewares/common/index.js +21 -0
  146. package/dist/middlewares/common/index.js.map +1 -0
  147. package/dist/middlewares/html/fastHTML.d.ts +180 -0
  148. package/dist/middlewares/html/fastHTML.js +131 -0
  149. package/dist/middlewares/html/fastHTML.js.map +1 -0
  150. package/dist/middlewares/html/index.d.ts +21 -0
  151. package/dist/middlewares/html/index.js +20 -0
  152. package/dist/middlewares/html/index.js.map +1 -0
  153. package/dist/middlewares/html/showHTML.d.ts +127 -0
  154. package/dist/middlewares/html/showHTML.js +95 -0
  155. package/dist/middlewares/html/showHTML.js.map +1 -0
  156. package/dist/middlewares/index.d.ts +30 -0
  157. package/dist/middlewares/index.js +21 -0
  158. package/dist/middlewares/index.js.map +1 -0
  159. package/dist/middlewares/utils/index.d.ts +19 -0
  160. package/dist/middlewares/utils/index.js +19 -0
  161. package/dist/middlewares/utils/index.js.map +1 -0
  162. package/dist/middlewares/utils/versionValidator.d.ts +214 -0
  163. package/dist/middlewares/utils/versionValidator.js +128 -0
  164. package/dist/middlewares/utils/versionValidator.js.map +1 -0
  165. package/dist/services/common/appError.d.ts +138 -0
  166. package/dist/services/common/appError.js +80 -0
  167. package/dist/services/common/appError.js.map +1 -0
  168. package/dist/services/common/httpError.d.ts +79 -0
  169. package/dist/services/common/httpError.js +44 -0
  170. package/dist/services/common/httpError.js.map +1 -0
  171. package/dist/services/common/index.d.ts +47 -0
  172. package/dist/services/common/index.js +41 -0
  173. package/dist/services/common/index.js.map +1 -0
  174. package/dist/services/common/sendFile.d.ts +102 -0
  175. package/dist/services/common/sendFile.js +51 -0
  176. package/dist/services/common/sendFile.js.map +1 -0
  177. package/dist/services/frontend/frontendFs.d.ts +96 -0
  178. package/dist/services/frontend/frontendFs.js +71 -0
  179. package/dist/services/frontend/frontendFs.js.map +1 -0
  180. package/dist/services/frontend/index.d.ts +40 -0
  181. package/dist/services/frontend/index.js +35 -0
  182. package/dist/services/frontend/index.js.map +1 -0
  183. package/dist/services/html/htmlGenerator.d.ts +237 -0
  184. package/dist/services/html/htmlGenerator.js +171 -0
  185. package/dist/services/html/htmlGenerator.js.map +1 -0
  186. package/dist/services/html/index.d.ts +43 -0
  187. package/dist/services/html/index.js +35 -0
  188. package/dist/services/html/index.js.map +1 -0
  189. package/dist/services/http/apiClient.d.ts +169 -0
  190. package/dist/services/http/apiClient.js +96 -0
  191. package/dist/services/http/apiClient.js.map +1 -0
  192. package/dist/services/http/http.d.ts +175 -0
  193. package/dist/services/http/http.js +158 -0
  194. package/dist/services/http/http.js.map +1 -0
  195. package/dist/services/http/index.d.ts +50 -0
  196. package/dist/services/http/index.js +41 -0
  197. package/dist/services/http/index.js.map +1 -0
  198. package/dist/services/http/responsesBuilder.d.ts +178 -0
  199. package/dist/services/http/responsesBuilder.js +132 -0
  200. package/dist/services/http/responsesBuilder.js.map +1 -0
  201. package/dist/services/index.d.ts +33 -0
  202. package/dist/services/index.js +23 -0
  203. package/dist/services/index.js.map +1 -0
  204. package/dist/services/utils/ensureBearerToken.d.ts +157 -0
  205. package/dist/services/utils/ensureBearerToken.js +105 -0
  206. package/dist/services/utils/ensureBearerToken.js.map +1 -0
  207. package/dist/services/utils/index.d.ts +43 -0
  208. package/dist/services/utils/index.js +35 -0
  209. package/dist/services/utils/index.js.map +1 -0
  210. package/dist/types/events.d.ts +13 -0
  211. package/dist/types/events.js +17 -0
  212. package/dist/types/events.js.map +1 -0
  213. package/dist/types/express.d.ts +10 -0
  214. package/dist/types/express.js +17 -0
  215. package/dist/types/express.js.map +1 -0
  216. package/dist/types/http.d.ts +79 -0
  217. package/dist/types/http.js +17 -0
  218. package/dist/types/http.js.map +1 -0
  219. package/dist/types/index.d.ts +14 -0
  220. package/dist/types/index.js +24 -0
  221. package/dist/types/index.js.map +1 -0
  222. package/dist/types/options.d.ts +13 -0
  223. package/dist/types/options.js +17 -0
  224. package/dist/types/options.js.map +1 -0
  225. package/dist/types/utils.d.ts +48 -0
  226. package/dist/types/utils.js +17 -0
  227. package/dist/types/utils.js.map +1 -0
  228. package/dist/types/wootils.d.ts +4 -0
  229. package/dist/types/wootils.js +17 -0
  230. package/dist/types/wootils.js.map +1 -0
  231. package/dist/utils/fns/index.d.ts +5 -0
  232. package/dist/utils/fns/index.js +22 -0
  233. package/dist/utils/fns/index.js.map +1 -0
  234. package/dist/utils/fns/others.d.ts +17 -0
  235. package/dist/utils/fns/others.js +29 -0
  236. package/dist/utils/fns/others.js.map +1 -0
  237. package/dist/utils/fns/routes.d.ts +39 -0
  238. package/dist/utils/fns/routes.js +51 -0
  239. package/dist/utils/fns/routes.js.map +1 -0
  240. package/dist/utils/fns/statuses.d.ts +45 -0
  241. package/dist/utils/fns/statuses.js +35 -0
  242. package/dist/utils/fns/statuses.js.map +1 -0
  243. package/dist/utils/fns/text.d.ts +9 -0
  244. package/dist/utils/fns/text.js +29 -0
  245. package/dist/utils/fns/text.js.map +1 -0
  246. package/dist/utils/index.d.ts +18 -0
  247. package/dist/utils/index.js +20 -0
  248. package/dist/utils/index.js.map +1 -0
  249. package/dist/utils/wrappers.d.ts +13 -0
  250. package/dist/utils/wrappers.js +68 -0
  251. package/dist/utils/wrappers.js.map +1 -0
  252. package/examples/basic/404.html +12 -0
  253. package/examples/basic/README.md +30 -0
  254. package/examples/basic/app.ts +18 -0
  255. package/examples/basic/controller.ts +45 -0
  256. package/examples/basic/index.ts +19 -0
  257. package/examples/basic/middleware.ts +13 -0
  258. package/examples/basic/service.ts +11 -0
  259. package/package.json +59 -38
  260. package/src/app/index.ts +1 -0
  261. package/src/app/jimpex.ts +743 -0
  262. package/src/controllers/common/config.ts +115 -0
  263. package/src/controllers/common/health.ts +128 -0
  264. package/src/controllers/common/index.ts +3 -0
  265. package/src/controllers/common/statics.ts +380 -0
  266. package/src/controllers/index.ts +2 -0
  267. package/src/controllers/utils/gateway.ts +1186 -0
  268. package/src/controllers/utils/index.ts +1 -0
  269. package/src/index.ts +6 -0
  270. package/src/middlewares/common/errorHandler.ts +203 -0
  271. package/src/middlewares/common/forceHTTPS.ts +83 -0
  272. package/src/middlewares/common/hsts.ts +135 -0
  273. package/src/middlewares/common/index.ts +3 -0
  274. package/src/middlewares/html/fastHTML.ts +255 -0
  275. package/src/middlewares/html/index.ts +2 -0
  276. package/src/middlewares/html/showHTML.ts +165 -0
  277. package/src/middlewares/index.ts +3 -0
  278. package/src/middlewares/utils/index.ts +1 -0
  279. package/src/middlewares/utils/versionValidator.ts +289 -0
  280. package/src/services/common/appError.ts +158 -0
  281. package/src/services/common/httpError.ts +74 -0
  282. package/src/services/common/index.ts +29 -0
  283. package/src/services/common/sendFile.ts +106 -0
  284. package/src/services/frontend/frontendFs.ts +101 -0
  285. package/src/services/frontend/index.ts +21 -0
  286. package/src/services/html/htmlGenerator.ts +356 -0
  287. package/src/services/html/index.ts +21 -0
  288. package/src/services/http/apiClient.ts +221 -0
  289. package/src/services/http/http.ts +286 -0
  290. package/src/services/http/index.ts +29 -0
  291. package/src/services/http/responsesBuilder.ts +265 -0
  292. package/src/services/index.ts +5 -0
  293. package/src/services/utils/ensureBearerToken.ts +202 -0
  294. package/src/services/utils/index.ts +21 -0
  295. package/src/types/events.ts +303 -0
  296. package/src/types/express.ts +21 -0
  297. package/src/types/http.ts +77 -0
  298. package/src/types/index.ts +6 -0
  299. package/src/types/options.ts +248 -0
  300. package/src/types/utils.ts +52 -0
  301. package/src/types/wootils.ts +4 -0
  302. package/src/utils/fns/index.ts +4 -0
  303. package/src/utils/fns/others.ts +15 -0
  304. package/src/utils/fns/routes.ts +64 -0
  305. package/src/utils/fns/statuses.ts +44 -0
  306. package/src/utils/fns/text.ts +8 -0
  307. package/src/utils/index.ts +2 -0
  308. package/src/utils/wrappers.ts +537 -0
  309. package/tsconfig.json +5 -8
  310. package/tsup.config.ts +10 -0
  311. package/src/app/index.js +0 -692
  312. package/src/constants/eventNames.js +0 -48
  313. package/src/constants/index.js +0 -7
  314. package/src/controllers/common/configuration.js +0 -116
  315. package/src/controllers/common/health.js +0 -79
  316. package/src/controllers/common/index.js +0 -7
  317. package/src/controllers/common/statics.js +0 -336
  318. package/src/controllers/index.js +0 -9
  319. package/src/controllers/utils/gateway.js +0 -1039
  320. package/src/controllers/utils/index.js +0 -3
  321. package/src/index.js +0 -30
  322. package/src/middlewares/common/errorHandler.js +0 -185
  323. package/src/middlewares/common/forceHTTPS.js +0 -80
  324. package/src/middlewares/common/hsts.js +0 -122
  325. package/src/middlewares/common/index.js +0 -7
  326. package/src/middlewares/html/fastHTML.js +0 -298
  327. package/src/middlewares/html/index.js +0 -5
  328. package/src/middlewares/html/showHTML.js +0 -167
  329. package/src/middlewares/index.js +0 -11
  330. package/src/middlewares/utils/index.js +0 -3
  331. package/src/middlewares/utils/versionValidator.js +0 -261
  332. package/src/services/common/appError.js +0 -136
  333. package/src/services/common/httpError.js +0 -60
  334. package/src/services/common/index.js +0 -25
  335. package/src/services/common/sendFile.js +0 -68
  336. package/src/services/frontend/frontendFs.js +0 -85
  337. package/src/services/frontend/index.js +0 -17
  338. package/src/services/html/htmlGenerator.js +0 -391
  339. package/src/services/html/index.js +0 -17
  340. package/src/services/http/apiClient.js +0 -148
  341. package/src/services/http/http.js +0 -256
  342. package/src/services/http/index.js +0 -25
  343. package/src/services/http/responsesBuilder.js +0 -193
  344. package/src/services/index.js +0 -15
  345. package/src/services/utils/ensureBearerToken.js +0 -147
  346. package/src/services/utils/index.js +0 -19
  347. package/src/types.js +0 -377
  348. package/src/utils/functions.js +0 -78
  349. package/src/utils/wrappers.js +0 -131
  350. package/types/app/index.d.ts +0 -417
  351. package/types/constants/eventNames.d.ts +0 -93
  352. package/types/constants/index.d.ts +0 -2
  353. package/types/controllers/common/configuration.d.ts +0 -71
  354. package/types/controllers/common/health.d.ts +0 -55
  355. package/types/controllers/common/index.d.ts +0 -4
  356. package/types/controllers/common/statics.d.ts +0 -271
  357. package/types/controllers/index.d.ts +0 -3
  358. package/types/controllers/utils/gateway.d.ts +0 -947
  359. package/types/controllers/utils/index.d.ts +0 -2
  360. package/types/index.d.ts +0 -15
  361. package/types/middlewares/common/errorHandler.d.ts +0 -143
  362. package/types/middlewares/common/forceHTTPS.d.ts +0 -64
  363. package/types/middlewares/common/hsts.d.ts +0 -111
  364. package/types/middlewares/common/index.d.ts +0 -4
  365. package/types/middlewares/html/fastHTML.d.ts +0 -238
  366. package/types/middlewares/html/index.d.ts +0 -3
  367. package/types/middlewares/html/showHTML.d.ts +0 -128
  368. package/types/middlewares/index.d.ts +0 -4
  369. package/types/middlewares/utils/index.d.ts +0 -2
  370. package/types/middlewares/utils/versionValidator.d.ts +0 -247
  371. package/types/services/common/appError.d.ts +0 -89
  372. package/types/services/common/httpError.d.ts +0 -37
  373. package/types/services/common/index.d.ts +0 -18
  374. package/types/services/common/sendFile.d.ts +0 -56
  375. package/types/services/frontend/frontendFs.d.ts +0 -72
  376. package/types/services/frontend/index.d.ts +0 -3
  377. package/types/services/html/htmlGenerator.d.ts +0 -298
  378. package/types/services/html/index.d.ts +0 -3
  379. package/types/services/http/apiClient.d.ts +0 -141
  380. package/types/services/http/http.d.ts +0 -159
  381. package/types/services/http/index.d.ts +0 -18
  382. package/types/services/http/responsesBuilder.d.ts +0 -140
  383. package/types/services/index.d.ts +0 -6
  384. package/types/services/utils/ensureBearerToken.d.ts +0 -137
  385. package/types/services/utils/index.d.ts +0 -16
  386. package/types/types.d.ts +0 -280
  387. package/types/utils/functions.d.ts +0 -55
  388. package/types/utils/wrappers.d.ts +0 -127
@@ -1,2 +0,0 @@
1
- export { gatewayController };
2
- import { gatewayController } from "./gateway";
package/types/index.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import { controller } from "./utils/wrappers";
2
- import { controllerCreator } from "./utils/wrappers";
3
- import controllers = require("./controllers");
4
- import { middleware } from "./utils/wrappers";
5
- import { middlewareCreator } from "./utils/wrappers";
6
- import middlewares = require("./middlewares");
7
- import { provider } from "./utils/wrappers";
8
- import { providerCreator } from "./utils/wrappers";
9
- import { providers } from "./utils/wrappers";
10
- import services = require("./services");
11
- import { eventNames } from "./constants";
12
- import utils = require("./utils/functions");
13
- import { Jimpex } from "./app";
14
- import { jimpex } from "./app";
15
- export { controller, controllerCreator, controllers, middleware, middlewareCreator, middlewares, provider, providerCreator, providers, services, eventNames, utils, Jimpex, jimpex };
@@ -1,143 +0,0 @@
1
- export type ExpressMiddleware = import('../../types').ExpressMiddleware;
2
- export type Logger = import('../../types').Logger;
3
- export type ResponsesBuilder = import('../../services/http/responsesBuilder').ResponsesBuilder;
4
- /**
5
- * <O>
6
- */
7
- export type MiddlewareCreator<O> = import('../../types').MiddlewareCreator<O>;
8
- /**
9
- * Before reading the recevied information, these will be the settings for the response.
10
- */
11
- export type ErrorHandlerDefaultOptions = {
12
- /**
13
- * The error message the response will show. Default `'Oops!
14
- * Something went wrong, please try again'`.
15
- */
16
- message: string;
17
- /**
18
- * The HTTP status code for the response. Default `500`.
19
- */
20
- status: number;
21
- };
22
- /**
23
- * The options for how to build the middleware responses.
24
- */
25
- export type ErrorHandlerOptions = {
26
- /**
27
- * The options to build the default
28
- * response,
29
- * before the middleware analyzes the
30
- * recevied error.
31
- */
32
- default: ErrorHandlerDefaultOptions;
33
- };
34
- /**
35
- * @typedef {import('../../types').ExpressMiddleware} ExpressMiddleware
36
- * @typedef {import('../../types').Logger} Logger
37
- * @typedef {import('../../services/http/responsesBuilder').ResponsesBuilder} ResponsesBuilder
38
- * @prettierignore
39
- */
40
- /**
41
- * @typedef {import('../../types').MiddlewareCreator<O>} MiddlewareCreator<O>
42
- * @template O
43
- */
44
- /**
45
- * Before reading the recevied information, these will be the settings for the response.
46
- *
47
- * @typedef {Object} ErrorHandlerDefaultOptions
48
- * @property {string} message The error message the response will show. Default `'Oops!
49
- * Something went wrong, please try again'`.
50
- * @property {number} status The HTTP status code for the response. Default `500`.
51
- * @parent module:middlewares
52
- */
53
- /**
54
- * The options for how to build the middleware responses.
55
- *
56
- * @typedef {Object} ErrorHandlerOptions
57
- * @property {ErrorHandlerDefaultOptions} default The options to build the default
58
- * response,
59
- * before the middleware analyzes the
60
- * recevied error.
61
- * @parent module:middlewares
62
- */
63
- /**
64
- * Provides the middleware to handle error responses for the app.
65
- *
66
- * @parent module:middlewares
67
- */
68
- export class ErrorHandler {
69
- /**
70
- * @param {Logger} appLogger To log the received errors.
71
- * @param {ResponsesBuilder} responsesBuilder To generate the JSON response.
72
- * @param {boolean} showErrors If `false`, unknown errors will show a
73
- * generic message instead of real
74
- * message. And if `true`,
75
- * it will not only show all kind of
76
- * errors but it will also show the error
77
- * stack.
78
- * @param {ClassAppError} AppError To validate if the received errors are
79
- * known or not.
80
- * @param {ErrorHandlerOptions} [options={}] Custom options to modify the
81
- * middleware behavior.
82
- */
83
- constructor(appLogger: Logger, responsesBuilder: ResponsesBuilder, showErrors: boolean, AppError: any, options?: ErrorHandlerOptions);
84
- /**
85
- * A local reference for the `appLogger` service.
86
- *
87
- * @type {Logger}
88
- * @access protected
89
- * @ignore
90
- */
91
- _appLogger: Logger;
92
- /**
93
- * A local reference for the `responsesBuilder` service.
94
- *
95
- * @type {ResponsesBuilder}
96
- * @access protected
97
- * @ignore
98
- */
99
- _responsesBuilder: ResponsesBuilder;
100
- /**
101
- * Whether or not to show unknown errors real messages.
102
- *
103
- * @type {boolean}
104
- * @access protected
105
- * @ignore
106
- */
107
- _showErrors: boolean;
108
- /**
109
- * A local reference for the class the app uses to generate errors.
110
- *
111
- * @type {ClassAppError}
112
- * @access protected
113
- * @ignore
114
- */
115
- _AppError: any;
116
- /**
117
- * These are the "settings" the middleware will use in order to display the errors.
118
- *
119
- * @type {ErrorHandlerOptions}
120
- * @access protected
121
- * @ignore
122
- */
123
- _options: ErrorHandlerOptions;
124
- /**
125
- * Returns the Express middleware that shows the errors.
126
- *
127
- * @returns {ExpressMiddleware}
128
- */
129
- middleware(): ExpressMiddleware;
130
- /**
131
- * The options used to customize the middleware behavior.
132
- *
133
- * @returns {ErrorHandlerOptions}
134
- */
135
- get options(): ErrorHandlerOptions;
136
- }
137
- /**
138
- * Generates a middleware that show responses for unhandled errors thrown by the app.
139
- *
140
- * @type {MiddlewareCreator<ErrorHandlerOptions>}
141
- * @parent module:middlewares
142
- */
143
- export const errorHandler: MiddlewareCreator<ErrorHandlerOptions>;
@@ -1,64 +0,0 @@
1
- export type ExpressMiddleware = import('../../types').ExpressMiddleware;
2
- /**
3
- * <O>
4
- */
5
- export type MiddlewareCreator<O> = import('../../types').MiddlewareCreator<O>;
6
- export type ForceHTTPSMiddlewareOptions = {
7
- /**
8
- * A list of regular expressions to match routes that
9
- * should be ignored.
10
- */
11
- ignoredRoutes: RegExp[];
12
- };
13
- /**
14
- * @typedef {import('../../types').ExpressMiddleware} ExpressMiddleware
15
- */
16
- /**
17
- * @typedef {import('../../types').MiddlewareCreator<O>} MiddlewareCreator<O>
18
- * @template O
19
- */
20
- /**
21
- * @typedef {Object} ForceHTTPSMiddlewareOptions
22
- * @property {RegExp[]} ignoredRoutes A list of regular expressions to match routes that
23
- * should be ignored.
24
- * @parent module:middlewares
25
- */
26
- /**
27
- * Force all the app traffice to be through HTTPS.
28
- *
29
- * @parent module:middlewares
30
- */
31
- export class ForceHTTPS {
32
- /**
33
- * @param {RegExp[]} [ignoredRoutes=[/^\/service\//]]
34
- * A list of regular expressions to match routes that should be ignored.
35
- */
36
- constructor(ignoredRoutes?: RegExp[]);
37
- /**
38
- * A list of regular expressions to match routes that should be ignored.
39
- *
40
- * @type {RegExp[]}
41
- * @access protected
42
- * @ignore
43
- */
44
- _ignoredRoutes: RegExp[];
45
- /**
46
- * Returns the Express middleware that forces the redirection to HTTPS.
47
- *
48
- * @returns {ExpressMiddleware}
49
- */
50
- middleware(): ExpressMiddleware;
51
- /**
52
- * A list of regular expressions to match routes that should be ignored.
53
- *
54
- * @type {RegExp[]}
55
- */
56
- get ignoredRoutes(): RegExp[];
57
- }
58
- /**
59
- * A middleware to force HTTPS redirections to all the routes.
60
- *
61
- * @type {MiddlewareCreator<ForceHTTPSMiddlewareOptions>}
62
- * @parent module:middlewares
63
- */
64
- export const forceHTTPS: MiddlewareCreator<ForceHTTPSMiddlewareOptions>;
@@ -1,111 +0,0 @@
1
- export type ExpressMiddleware = import('../../types').ExpressMiddleware;
2
- /**
3
- * <O>
4
- */
5
- export type MiddlewareCreator<O> = import('../../types').MiddlewareCreator<O>;
6
- /**
7
- * The options to customize the HSTS header value.
8
- */
9
- export type HSTSOptions = {
10
- /**
11
- * The time, in seconds, that the browser
12
- * should remember that a site is only to be
13
- * accessed using HTTPS.
14
- */
15
- maxAge?: number;
16
- /**
17
- * Whether or not the rule should apply to
18
- * all sub domains.
19
- */
20
- includeSubDomains?: boolean;
21
- /**
22
- * Whether or not to include on the major
23
- * browsers'
24
- * preload list. This directive is not part
25
- * of the specification, for more
26
- * information about it, you should check
27
- * the MDN documentation for the header.
28
- */
29
- preload?: boolean;
30
- };
31
- /**
32
- * @typedef {import('../../types').ExpressMiddleware} ExpressMiddleware
33
- */
34
- /**
35
- * @typedef {import('../../types').MiddlewareCreator<O>} MiddlewareCreator<O>
36
- * @template O
37
- */
38
- /**
39
- * The options to customize the HSTS header value.
40
- *
41
- * @typedef {Object} HSTSOptions
42
- * @property {number} [maxAge=31536000] The time, in seconds, that the browser
43
- * should remember that a site is only to be
44
- * accessed using HTTPS.
45
- * @property {boolean} [includeSubDomains=true] Whether or not the rule should apply to
46
- * all sub domains.
47
- * @property {boolean} [preload=false] Whether or not to include on the major
48
- * browsers'
49
- * preload list. This directive is not part
50
- * of the specification, for more
51
- * information about it, you should check
52
- * the MDN documentation for the header.
53
- * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
54
- * @parent module:middlewares
55
- */
56
- /**
57
- * It configures a `Strict-Transport-Security` header and includes it on every response.
58
- *
59
- * @see https://tools.ietf.org/html/rfc6797
60
- * @parent module:middlewares
61
- */
62
- export class HSTS {
63
- /**
64
- * @param {Partial<HSTSOptions>} [options={}] The options to customize the header
65
- * value.
66
- */
67
- constructor(options?: Partial<HSTSOptions>);
68
- /**
69
- * The value of the header that will be included on every response.
70
- *
71
- * @type {string}
72
- * @access protected
73
- * @ignore
74
- */
75
- _header: string;
76
- /**
77
- * Returns the Express middleware that includes the header on the response.
78
- *
79
- * @returns {ExpressMiddleware}
80
- */
81
- middleware(): ExpressMiddleware;
82
- /**
83
- * The value of the header that will be included on every response.
84
- *
85
- * @type {string}
86
- */
87
- get header(): string;
88
- /**
89
- * Creates the value for the header.
90
- *
91
- * @param {HSTSOptions} options The options to customize the header value.
92
- * @returns {string}
93
- * @access protected
94
- * @ignore
95
- */
96
- _buildHeader(options: HSTSOptions): string;
97
- }
98
- /**
99
- * A middleware that creates and includes a `Strict-Transport-Security` header on every
100
- * response.
101
- * If the `options` parameter doesn't include the value for `maxAge`, the middleware will
102
- * ask the {@link AppConfiguration} service for the `hsts` settings as a fallback. You can
103
- * take advantage of that fallback to use the middleware and manage its settings from your
104
- * project configuration.
105
- * Both the `options` parameter and the `hsts` can include a `enabled` (boolean) flag to
106
- * either disable or enable the middleware.
107
- *
108
- * @type {MiddlewareCreator<HSTSOptions>}
109
- * @parent module:middlewares
110
- */
111
- export const hsts: MiddlewareCreator<HSTSOptions>;
@@ -1,4 +0,0 @@
1
- import { errorHandler } from "./errorHandler";
2
- import { forceHTTPS } from "./forceHTTPS";
3
- import { hsts } from "./hsts";
4
- export { errorHandler, forceHTTPS, hsts };
@@ -1,238 +0,0 @@
1
- export type ExpressMiddleware = import('../../types').ExpressMiddleware;
2
- export type ExpressResponse = import('../../types').ExpressResponse;
3
- export type ExpressNext = import('../../types').ExpressNext;
4
- export type EventsHub = import('../../types').EventsHub;
5
- export type SendFile = import('../../services/common/sendFile').SendFile;
6
- export type HTMLGenerator = import('../../services/html/htmlGenerator').HTMLGenerator;
7
- /**
8
- * <O>
9
- */
10
- export type MiddlewareCreator<O> = import('../../types').MiddlewareCreator<O>;
11
- /**
12
- * The options to customize the behavior of the middleware.
13
- */
14
- export type FastHTMLOptions = {
15
- /**
16
- * The name of the file the middleware will serve. It
17
- * can get overwritten if {@link FastHTML } receives an
18
- * {@link HTMLGenerator }, in that case, the file will
19
- * be obtained from that service. Default `index.html`.
20
- */
21
- file: string;
22
- /**
23
- * A list of regular expressions to match requests
24
- * paths that should be ignored.
25
- */
26
- ignore: RegExp[];
27
- /**
28
- * If `true`, {@link FastHTML } will get the list of all
29
- * routes controlled by {@link Jimpex } and will use
30
- * them to validate the incoming requests (in addition
31
- * to `ignore`): If a request URL doesn't match with
32
- * any of the controlled routes, it will show the HTML
33
- * file. Default `true`.
34
- */
35
- useAppRoutes: boolean;
36
- };
37
- export type FastHTMLMiddlewareOptions = FastHTMLOptions & FastHTMLMiddlewareOptionsProperties;
38
- export type FastHTMLMiddlewareOptionsProperties = {
39
- /**
40
- * The name of a {@link HTMLGenerator } service for the middleware to use. Default
41
- * `htmlGenerator`.
42
- */
43
- htmlGenerator: string;
44
- };
45
- /**
46
- * @typedef {import('../../types').ExpressMiddleware} ExpressMiddleware
47
- * @typedef {import('../../types').ExpressResponse} ExpressResponse
48
- * @typedef {import('../../types').ExpressNext} ExpressNext
49
- * @typedef {import('../../types').EventsHub} EventsHub
50
- * @typedef {import('../../services/common/sendFile').SendFile} SendFile
51
- * @typedef {import('../../services/html/htmlGenerator').HTMLGenerator} HTMLGenerator
52
- */
53
- /**
54
- * @typedef {import('../../types').MiddlewareCreator<O>} MiddlewareCreator<O>
55
- * @template O
56
- */
57
- /**
58
- * The options to customize the behavior of the middleware.
59
- *
60
- * @typedef {Object} FastHTMLOptions
61
- * @property {string} file The name of the file the middleware will serve. It
62
- * can get overwritten if {@link FastHTML} receives an
63
- * {@link HTMLGenerator}, in that case, the file will
64
- * be obtained from that service. Default `index.html`.
65
- * @property {RegExp[]} ignore A list of regular expressions to match requests
66
- * paths that should be ignored.
67
- * @property {boolean} useAppRoutes If `true`, {@link FastHTML} will get the list of all
68
- * routes controlled by {@link Jimpex} and will use
69
- * them to validate the incoming requests (in addition
70
- * to `ignore`): If a request URL doesn't match with
71
- * any of the controlled routes, it will show the HTML
72
- * file. Default `true`.
73
- * @parent module:middlewares
74
- */
75
- /**
76
- * @typedef {FastHTMLOptions & FastHTMLMiddlewareOptionsProperties} FastHTMLMiddlewareOptions
77
- * @prettierignore
78
- */
79
- /**
80
- * @typedef {Object} FastHTMLMiddlewareOptionsProperties
81
- * @property {string} htmlGenerator
82
- * The name of a {@link HTMLGenerator} service for the middleware to use. Default
83
- * `htmlGenerator`.
84
- * @parent module:middlewares
85
- */
86
- /**
87
- * It's common for an app to show an HTML view when no route was able to handle a request,
88
- * so the idea behind this middleware is to avoid going to every middleware and controller
89
- * and just specify that if the request is not for a route handled by a controller, just
90
- * serve the HTML and avoid processing unnecessary data.
91
- *
92
- * A simple example: The app has a route `/backend` that a frontend uses to get
93
- * information.
94
- * This middleware can be used to only allow the execution of middlewares and controllers
95
- * when the request route is for `/backend`.
96
- *
97
- * **Disclaimer**: Managing statics files with Express is not a best practice, but there
98
- * are scenarios where there is not other choice.
99
- *
100
- * @parent module:middlewares
101
- */
102
- export class FastHTML {
103
- /**
104
- * @param {EventsHub} events To listen for the {@link Jimpex} event
105
- * triggered after the app starts. The
106
- * event is used to get all the
107
- * controlled routes, in case the
108
- * `useAppRoutes` option is set to true.
109
- * @param {SendFile} sendFile To send the HTML file response.
110
- * @param {FastHTMLOptions} [options={}] To customize the middleware behavior.
111
- * @param {?HTMLGenerator} [htmlGenerator=null] If used, the file to serve will be the
112
- * one generated by that service.
113
- */
114
- constructor(events: EventsHub, sendFile: SendFile, options?: FastHTMLOptions, htmlGenerator?: HTMLGenerator | null);
115
- /**
116
- * A local reference for the `events` service.
117
- *
118
- * @type {EventsHub}
119
- * @access protected
120
- * @ignore
121
- */
122
- _events: EventsHub;
123
- /**
124
- * A local reference for the `sendFile` service.
125
- *
126
- * @type {SendFile}
127
- * @access protected
128
- * @ignore
129
- */
130
- _sendFile: SendFile;
131
- /**
132
- * If specified, a reference for a service that generates HTML files.
133
- *
134
- * @type {?HTMLGenerator}
135
- * @access protected
136
- * @ignore
137
- */
138
- _htmlGenerator: HTMLGenerator | null;
139
- /**
140
- * The options that tell the middleware which routes should be ignored and which is
141
- * the file to serve.
142
- *
143
- * @type {FastHTMLOptions}
144
- */
145
- _options: FastHTMLOptions;
146
- /**
147
- * Whether or not the file is ready to be served, in case there's an
148
- * {@link HTMLGenerator}. If the service is used, the HTML is generated after the app
149
- * starts,
150
- * so the middleware will have to wait for it to be ready before being able to serve
151
- * it.
152
- *
153
- * @type {boolean}
154
- * @access protected
155
- * @ignore
156
- */
157
- _ready: boolean;
158
- /**
159
- * A list of regular expression that match the routes controlled by the app. This is
160
- * in case the `useAppRoutes` option is set to `true`; when the app gets started, an
161
- * event listener will obtain all the top controlled routes, create regular
162
- * expressions and save them on this property.
163
- *
164
- * @type {RegExp[]}
165
- * @access protected
166
- * @ignore
167
- */
168
- _routeExpressions: RegExp[];
169
- /**
170
- * Returns the Express middleware that validates the routes and serves the HTML file if
171
- * necessary.
172
- *
173
- * @returns {ExpressMiddleware}
174
- */
175
- middleware(): ExpressMiddleware;
176
- /**
177
- * The options that tell the middleware which routes should be ignored and which is the
178
- * file to serve.
179
- *
180
- * @type {FastHTMLOptions}
181
- * @todo Remove Object.freeze.
182
- */
183
- get options(): FastHTMLOptions;
184
- /**
185
- * Normalizes and validates the options recevied on the constructor.
186
- * If the class is using a {@link HTMLGenerator} service, the method will overwrite the
187
- * `file`
188
- * option with the result of the service's `getFile()` method.
189
- *
190
- * @param {FastHTMLOptions} options The received options.
191
- * @returns {FastHTMLOptions}
192
- * @throws {Error} If no file and no {@link HTMLGenerator} service are specified.
193
- * @throws {Error} If no routes to ignore are specified and `useAppRoutes` is set to
194
- * `false`.
195
- * @access protected
196
- * @ignore
197
- */
198
- _normalizeOptions(options: FastHTMLOptions): FastHTMLOptions;
199
- /**
200
- * Serves the file on the response.
201
- *
202
- * @param {ExpressResponse} res The server response.
203
- * @param {ExpressNext} next The function to call the next middleware.
204
- * @access protected
205
- * @ignore
206
- */
207
- _sendHTML(res: ExpressResponse, next: ExpressNext): void;
208
- /**
209
- * Adds the event listener that obtains the controlled routes when `useAppRoutes` is set
210
- * to `true`.
211
- *
212
- * @access protected
213
- * @ignore
214
- */
215
- _setupEvents(): void;
216
- /**
217
- * Checks whether a route should be ignored or not. The method checks first against the
218
- * `ignore`
219
- * option, and then against the controlled routes (if `useAppRoutes` is `false`, the
220
- * list will be empty).
221
- *
222
- * @param {string} route The route to validate.
223
- * @returns {boolean}
224
- * @access protected
225
- * @ignore
226
- */
227
- _shouldIgnore(route: string): boolean;
228
- }
229
- /**
230
- * A middleware for filtering routes so you can serve an HTML before the app gets to
231
- * evaluate whether there's a controller for the requested route or not. For more
232
- * information about the reason of this middleware, please read the description of
233
- * {@link FastHTML}.
234
- *
235
- * @type {MiddlewareCreator<FastHTMLMiddlewareOptions>}
236
- * @parent module:middlewares
237
- */
238
- export const fastHTML: MiddlewareCreator<FastHTMLMiddlewareOptions>;
@@ -1,3 +0,0 @@
1
- import { fastHTML } from "./fastHTML";
2
- import { showHTML } from "./showHTML";
3
- export { fastHTML, showHTML };