@biorate/nestjs-tools 1.169.1 → 2.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 (354) hide show
  1. package/dist/{index.js → cjs/index.js} +0 -1
  2. package/dist/{interfaces → cjs/interfaces}/index.js +0 -1
  3. package/dist/{interfaces → cjs/interfaces}/ports/client.driven.port.js +0 -1
  4. package/dist/{interfaces → cjs/interfaces}/ports/crud.driven.port.js +0 -1
  5. package/dist/{interfaces → cjs/interfaces}/ports/index.js +0 -1
  6. package/dist/{interfaces → cjs/interfaces}/ports/metrics.driven.port.js +0 -1
  7. package/dist/cjs/package.json +3 -0
  8. package/dist/{src → cjs/src}/app/application/index.js +0 -1
  9. package/dist/{src → cjs/src}/app/application/ports/index.js +0 -1
  10. package/dist/{src → cjs/src}/app/application/service/client/get-locale.use-case.js +0 -1
  11. package/dist/{src → cjs/src}/app/application/service/client/index.js +0 -1
  12. package/dist/{src → cjs/src}/app/application/service/client/set-locale.use-case.js +0 -1
  13. package/dist/{src → cjs/src}/app/application/service/index.js +0 -1
  14. package/dist/{src → cjs/src}/app/application/service/metrics/get-metrics.use-case.js +0 -1
  15. package/dist/{src → cjs/src}/app/application/service/metrics/index.js +0 -1
  16. package/dist/{src → cjs/src}/app/index.js +0 -1
  17. package/dist/{src → cjs/src}/app/infrastructure/adapters/client.repository.adapter.js +0 -1
  18. package/dist/{src → cjs/src}/app/infrastructure/adapters/index.js +0 -1
  19. package/dist/{src → cjs/src}/app/infrastructure/adapters/metrics.repository.adapter.js +0 -1
  20. package/dist/{src → cjs/src}/app/infrastructure/controllers/client.controller.js +0 -1
  21. package/dist/{src/http → cjs/src/app/infrastructure/controllers}/dto/index.js +0 -1
  22. package/dist/{src → cjs/src}/app/infrastructure/controllers/dto/locales.js +0 -1
  23. package/dist/{src → cjs/src}/app/infrastructure/controllers/index.js +0 -1
  24. package/dist/{src → cjs/src}/app/infrastructure/controllers/metrics.controller.js +0 -1
  25. package/dist/{src → cjs/src}/app/infrastructure/controllers/probe.controller.js +0 -1
  26. package/dist/{src → cjs/src}/app/infrastructure/index.js +0 -1
  27. package/dist/{src → cjs/src}/cors.js +0 -1
  28. package/dist/{src → cjs/src}/decorators/auth.js +1 -5
  29. package/dist/{src/providers → cjs/src/decorators}/index.js +0 -1
  30. package/dist/{src → cjs/src}/decorators/roles.js +0 -1
  31. package/dist/{src → cjs/src}/enums/index.js +0 -1
  32. package/dist/{src → cjs/src}/enums/user.js +0 -1
  33. package/dist/{src → cjs/src}/errors.js +0 -1
  34. package/dist/{src → cjs/src}/filters/all-exception-filter.js +0 -1
  35. package/dist/{src → cjs/src}/filters/index.js +0 -1
  36. package/dist/{src → cjs/src}/http/controllers/index.js +0 -1
  37. package/dist/{src → cjs/src}/http/controllers/locales.js +0 -1
  38. package/dist/{src → cjs/src}/http/controllers/metrics.js +0 -1
  39. package/dist/{src → cjs/src}/http/controllers/probe.js +0 -1
  40. package/dist/{src/app/infrastructure/controllers → cjs/src/http}/dto/index.js +0 -1
  41. package/dist/{src → cjs/src}/http/dto/locales.js +0 -1
  42. package/dist/{src → cjs/src}/http/index.js +0 -1
  43. package/dist/{src → cjs/src}/index.js +0 -1
  44. package/dist/{src → cjs/src}/interceptors/index.js +0 -1
  45. package/dist/{src → cjs/src}/interceptors/routes-interceptor.js +0 -1
  46. package/dist/{src → cjs/src}/interceptors/tracing-interceptor.js +0 -1
  47. package/dist/{src → cjs/src}/middlewares/index.js +0 -1
  48. package/dist/{src → cjs/src}/middlewares/proxy-middleware.js +0 -1
  49. package/dist/{src → cjs/src}/middlewares/request-count-middleware.js +0 -1
  50. package/dist/{src → cjs/src}/middlewares/response-time-middleware.js +0 -1
  51. package/dist/{src → cjs/src}/providers/auth.js +0 -1
  52. package/dist/{src/decorators → cjs/src/providers}/index.js +0 -1
  53. package/dist/{src → cjs/src}/providers/roles.js +0 -1
  54. package/dist/esm/index.js +1 -0
  55. package/dist/esm/interfaces/index.js +6 -0
  56. package/dist/esm/interfaces/ports/client.driven.port.js +1 -0
  57. package/dist/esm/interfaces/ports/crud.driven.port.js +1 -0
  58. package/dist/esm/interfaces/ports/index.js +3 -0
  59. package/dist/esm/interfaces/ports/metrics.driven.port.js +1 -0
  60. package/dist/esm/package.json +3 -0
  61. package/dist/esm/src/app/application/index.js +2 -0
  62. package/dist/esm/src/app/application/ports/index.js +1 -0
  63. package/dist/esm/src/app/application/service/client/get-locale.use-case.js +24 -0
  64. package/dist/esm/src/app/application/service/client/index.js +2 -0
  65. package/dist/esm/src/app/application/service/client/set-locale.use-case.js +24 -0
  66. package/dist/esm/src/app/application/service/index.js +2 -0
  67. package/dist/esm/src/app/application/service/metrics/get-metrics.use-case.js +24 -0
  68. package/dist/esm/src/app/application/service/metrics/index.js +1 -0
  69. package/dist/esm/src/app/index.js +2 -0
  70. package/dist/esm/src/app/infrastructure/adapters/client.repository.adapter.js +34 -0
  71. package/dist/esm/src/app/infrastructure/adapters/index.js +2 -0
  72. package/dist/esm/src/app/infrastructure/adapters/metrics.repository.adapter.js +24 -0
  73. package/dist/esm/src/app/infrastructure/controllers/client.controller.js +52 -0
  74. package/dist/esm/src/app/infrastructure/controllers/dto/index.js +1 -0
  75. package/dist/esm/src/app/infrastructure/controllers/dto/locales.js +25 -0
  76. package/dist/esm/src/app/infrastructure/controllers/index.js +3 -0
  77. package/dist/esm/src/app/infrastructure/controllers/metrics.controller.js +34 -0
  78. package/dist/esm/src/app/infrastructure/controllers/probe.controller.js +38 -0
  79. package/dist/esm/src/app/infrastructure/index.js +2 -0
  80. package/dist/esm/src/cors.js +11 -0
  81. package/dist/esm/src/decorators/auth.js +4 -0
  82. package/dist/esm/src/decorators/index.js +2 -0
  83. package/dist/esm/src/decorators/roles.js +6 -0
  84. package/dist/esm/src/enums/index.js +1 -0
  85. package/dist/esm/src/enums/user.js +1 -0
  86. package/dist/esm/src/errors.js +16 -0
  87. package/dist/esm/src/filters/all-exception-filter.js +70 -0
  88. package/dist/esm/src/filters/index.js +1 -0
  89. package/dist/esm/src/http/controllers/index.js +3 -0
  90. package/dist/esm/src/http/controllers/locales.js +79 -0
  91. package/dist/esm/src/http/controllers/metrics.js +35 -0
  92. package/dist/esm/src/http/controllers/probe.js +40 -0
  93. package/dist/esm/src/http/dto/index.js +1 -0
  94. package/dist/esm/src/http/dto/locales.js +25 -0
  95. package/dist/esm/src/http/index.js +2 -0
  96. package/dist/esm/src/index.js +10 -0
  97. package/dist/esm/src/interceptors/index.js +2 -0
  98. package/dist/esm/src/interceptors/routes-interceptor.js +29 -0
  99. package/dist/esm/src/interceptors/tracing-interceptor.js +74 -0
  100. package/dist/esm/src/middlewares/index.js +3 -0
  101. package/dist/esm/src/middlewares/proxy-middleware.js +75 -0
  102. package/dist/esm/src/middlewares/request-count-middleware.js +48 -0
  103. package/dist/esm/src/middlewares/response-time-middleware.js +60 -0
  104. package/dist/esm/src/providers/auth.js +41 -0
  105. package/dist/esm/src/providers/index.js +2 -0
  106. package/dist/esm/src/providers/roles.js +36 -0
  107. package/dist/types/index.d.ts +1 -0
  108. package/dist/types/interfaces/index.d.ts +9 -0
  109. package/dist/types/interfaces/ports/client.driven.port.d.ts +4 -0
  110. package/dist/types/interfaces/ports/crud.driven.port.d.ts +33 -0
  111. package/{interfaces/ports/metrics.driven.port.ts → dist/types/interfaces/ports/metrics.driven.port.d.ts} +1 -1
  112. package/dist/types/src/app/application/service/client/get-locale.use-case.d.ts +5 -0
  113. package/dist/types/src/app/application/service/client/set-locale.use-case.d.ts +5 -0
  114. package/dist/types/src/app/application/service/metrics/get-metrics.use-case.d.ts +5 -0
  115. package/dist/types/src/app/infrastructure/adapters/client.repository.adapter.d.ts +5 -0
  116. package/dist/types/src/app/infrastructure/adapters/metrics.repository.adapter.d.ts +6 -0
  117. package/dist/types/src/app/infrastructure/controllers/client.controller.d.ts +9 -0
  118. package/dist/types/src/app/infrastructure/controllers/dto/locales.d.ts +7 -0
  119. package/dist/types/src/app/infrastructure/controllers/metrics.controller.d.ts +6 -0
  120. package/dist/types/src/app/infrastructure/controllers/probe.controller.d.ts +4 -0
  121. package/{src/app/infrastructure/index.ts → dist/types/src/app/infrastructure/index.d.ts} +0 -1
  122. package/dist/types/src/cors.d.ts +1 -0
  123. package/dist/types/src/decorators/auth.d.ts +1 -0
  124. package/dist/types/src/decorators/roles.d.ts +2 -0
  125. package/dist/types/src/errors.d.ts +10 -0
  126. package/dist/types/src/filters/all-exception-filter.d.ts +10 -0
  127. package/dist/types/src/http/controllers/locales.d.ts +8 -0
  128. package/dist/types/src/http/controllers/metrics.d.ts +5 -0
  129. package/dist/types/src/http/controllers/probe.d.ts +4 -0
  130. package/dist/types/src/http/dto/locales.d.ts +7 -0
  131. package/dist/types/src/interceptors/routes-interceptor.d.ts +9 -0
  132. package/dist/types/src/interceptors/tracing-interceptor.d.ts +12 -0
  133. package/dist/types/src/middlewares/proxy-middleware.d.ts +10 -0
  134. package/dist/types/src/middlewares/request-count-middleware.d.ts +7 -0
  135. package/dist/types/src/middlewares/response-time-middleware.d.ts +11 -0
  136. package/dist/types/src/providers/auth.d.ts +5 -0
  137. package/dist/types/src/providers/roles.d.ts +10 -0
  138. package/package.json +36 -11
  139. package/.nyc_output/93c3df5e-0169-4aae-9ca3-55ec078c9bfc.json +0 -1
  140. package/.nyc_output/984c0d25-72fc-470d-a9d5-994f63c7773e.json +0 -1
  141. package/.nyc_output/ed5276f2-893e-4b7c-ab18-7527a9c91a2d.json +0 -1
  142. package/.nyc_output/processinfo/93c3df5e-0169-4aae-9ca3-55ec078c9bfc.json +0 -1
  143. package/.nyc_output/processinfo/984c0d25-72fc-470d-a9d5-994f63c7773e.json +0 -1
  144. package/.nyc_output/processinfo/ed5276f2-893e-4b7c-ab18-7527a9c91a2d.json +0 -1
  145. package/.nyc_output/processinfo/index.json +0 -1
  146. package/CHANGELOG.md +0 -1275
  147. package/allure-results/06be5133-7300-4999-a964-8e2cf2e8433b-result.json +0 -1
  148. package/allure-results/13358ab2-596e-474e-a07c-ac82552a4799-result.json +0 -1
  149. package/allure-results/2b2df749-c29a-4f64-bc48-8c4ecd910c89-result.json +0 -1
  150. package/allure-results/34b63fac-556c-411f-9d0e-a1a68ed9edb1-result.json +0 -1
  151. package/allure-results/34d694a2-c986-4688-8d87-2b8917c01d30-result.json +0 -1
  152. package/allure-results/4e89a985-0880-45f5-90e7-077be33dcec6-result.json +0 -1
  153. package/allure-results/58f6344b-f83b-42f3-9537-3b0ff06c6a35-result.json +0 -1
  154. package/allure-results/6a865229-7793-407a-9298-baa21c003fa1-result.json +0 -1
  155. package/allure-results/7f7c75dd-81da-4db1-afe0-0e147d5fb844-result.json +0 -1
  156. package/allure-results/86ee0a03-8925-4961-b76a-8040f9613f58-result.json +0 -1
  157. package/allure-results/87c36229-7158-4566-a465-333d2c54d160-container.json +0 -1
  158. package/allure-results/ab43746f-f321-46df-8acd-624aa30ce63f-result.json +0 -1
  159. package/allure-results/ab8ee629-44e0-4da7-8089-4b00f15b705d-container.json +0 -1
  160. package/allure-results/ac4ee827-c0e5-4349-b6ee-00831f1f4b5c-result.json +0 -1
  161. package/allure-results/ac57cb14-8fa6-441b-8540-7c4f599a2706-result.json +0 -1
  162. package/allure-results/b2302e67-971f-4594-ac18-0daaaa489498-result.json +0 -1
  163. package/allure-results/b62fb1f7-47b7-40d0-b347-7bfbcf15164d-result.json +0 -1
  164. package/allure-results/bc7dfd81-d002-4d32-8a6f-6b8ab0364543-result.json +0 -1
  165. package/allure-results/cf1bb5d6-048d-4a58-8cf4-023576d59935-result.json +0 -1
  166. package/allure-results/e9c54e2f-6cbe-4cd5-89c9-eeee96b34474-result.json +0 -1
  167. package/coverage/base.css +0 -224
  168. package/coverage/block-navigation.js +0 -87
  169. package/coverage/clover.xml +0 -418
  170. package/coverage/coverage-final.json +0 -50
  171. package/coverage/favicon.png +0 -0
  172. package/coverage/index.html +0 -416
  173. package/coverage/interfaces/index.html +0 -116
  174. package/coverage/interfaces/index.ts.html +0 -118
  175. package/coverage/interfaces/ports/client.driven.port.ts.html +0 -100
  176. package/coverage/interfaces/ports/crud.driven.port.ts.html +0 -256
  177. package/coverage/interfaces/ports/index.html +0 -161
  178. package/coverage/interfaces/ports/index.ts.html +0 -94
  179. package/coverage/interfaces/ports/metrics.driven.port.ts.html +0 -94
  180. package/coverage/prettify.css +0 -1
  181. package/coverage/prettify.js +0 -2
  182. package/coverage/sort-arrow-sprite.png +0 -0
  183. package/coverage/sorter.js +0 -210
  184. package/coverage/src/app/application/index.html +0 -116
  185. package/coverage/src/app/application/index.ts.html +0 -91
  186. package/coverage/src/app/application/ports/index.html +0 -116
  187. package/coverage/src/app/application/ports/index.ts.html +0 -88
  188. package/coverage/src/app/application/service/client/get-locale.use-case.ts.html +0 -124
  189. package/coverage/src/app/application/service/client/index.html +0 -146
  190. package/coverage/src/app/application/service/client/index.ts.html +0 -91
  191. package/coverage/src/app/application/service/client/set-locale.use-case.ts.html +0 -124
  192. package/coverage/src/app/application/service/index.html +0 -116
  193. package/coverage/src/app/application/service/index.ts.html +0 -91
  194. package/coverage/src/app/application/service/metrics/get-metrics.use-case.ts.html +0 -124
  195. package/coverage/src/app/application/service/metrics/index.html +0 -131
  196. package/coverage/src/app/application/service/metrics/index.ts.html +0 -88
  197. package/coverage/src/app/index.html +0 -116
  198. package/coverage/src/app/index.ts.html +0 -91
  199. package/coverage/src/app/infrastructure/adapters/client.repository.adapter.ts.html +0 -190
  200. package/coverage/src/app/infrastructure/adapters/index.html +0 -146
  201. package/coverage/src/app/infrastructure/adapters/index.ts.html +0 -91
  202. package/coverage/src/app/infrastructure/adapters/metrics.repository.adapter.ts.html +0 -124
  203. package/coverage/src/app/infrastructure/controllers/client.controller.ts.html +0 -169
  204. package/coverage/src/app/infrastructure/controllers/index.html +0 -161
  205. package/coverage/src/app/infrastructure/controllers/index.ts.html +0 -94
  206. package/coverage/src/app/infrastructure/controllers/metrics.controller.ts.html +0 -133
  207. package/coverage/src/app/infrastructure/controllers/probe.controller.ts.html +0 -139
  208. package/coverage/src/app/infrastructure/index.html +0 -116
  209. package/coverage/src/app/infrastructure/index.ts.html +0 -94
  210. package/coverage/src/cors.ts.html +0 -142
  211. package/coverage/src/decorators/auth.ts.html +0 -112
  212. package/coverage/src/decorators/index.html +0 -146
  213. package/coverage/src/decorators/index.ts.html +0 -91
  214. package/coverage/src/decorators/roles.ts.html +0 -121
  215. package/coverage/src/enums/index.html +0 -131
  216. package/coverage/src/enums/index.ts.html +0 -88
  217. package/coverage/src/enums/user.ts.html +0 -88
  218. package/coverage/src/errors.ts.html +0 -142
  219. package/coverage/src/filters/all-exception-filter.ts.html +0 -358
  220. package/coverage/src/filters/index.html +0 -131
  221. package/coverage/src/filters/index.ts.html +0 -88
  222. package/coverage/src/http/controllers/index.html +0 -161
  223. package/coverage/src/http/controllers/index.ts.html +0 -94
  224. package/coverage/src/http/controllers/locales.ts.html +0 -322
  225. package/coverage/src/http/controllers/metrics.ts.html +0 -148
  226. package/coverage/src/http/controllers/probe.ts.html +0 -163
  227. package/coverage/src/http/dto/index.html +0 -131
  228. package/coverage/src/http/dto/index.ts.html +0 -88
  229. package/coverage/src/http/dto/locales.ts.html +0 -130
  230. package/coverage/src/http/index.html +0 -116
  231. package/coverage/src/http/index.ts.html +0 -91
  232. package/coverage/src/index.html +0 -146
  233. package/coverage/src/index.ts.html +0 -115
  234. package/coverage/src/interceptors/index.html +0 -146
  235. package/coverage/src/interceptors/index.ts.html +0 -91
  236. package/coverage/src/interceptors/routes-interceptor.ts.html +0 -202
  237. package/coverage/src/interceptors/tracing-interceptor.ts.html +0 -307
  238. package/coverage/src/middlewares/index.html +0 -161
  239. package/coverage/src/middlewares/index.ts.html +0 -94
  240. package/coverage/src/middlewares/proxy-middleware.ts.html +0 -319
  241. package/coverage/src/middlewares/request-count-middleware.ts.html +0 -208
  242. package/coverage/src/middlewares/response-time-middleware.ts.html +0 -304
  243. package/coverage/src/providers/auth.ts.html +0 -193
  244. package/coverage/src/providers/index.html +0 -146
  245. package/coverage/src/providers/index.ts.html +0 -91
  246. package/coverage/src/providers/roles.ts.html +0 -187
  247. package/dist/index.js.map +0 -1
  248. package/dist/interfaces/index.js.map +0 -1
  249. package/dist/interfaces/ports/client.driven.port.js.map +0 -1
  250. package/dist/interfaces/ports/crud.driven.port.js.map +0 -1
  251. package/dist/interfaces/ports/index.js.map +0 -1
  252. package/dist/interfaces/ports/metrics.driven.port.js.map +0 -1
  253. package/dist/src/app/application/index.js.map +0 -1
  254. package/dist/src/app/application/ports/index.js.map +0 -1
  255. package/dist/src/app/application/service/client/get-locale.use-case.js.map +0 -1
  256. package/dist/src/app/application/service/client/index.js.map +0 -1
  257. package/dist/src/app/application/service/client/set-locale.use-case.js.map +0 -1
  258. package/dist/src/app/application/service/index.js.map +0 -1
  259. package/dist/src/app/application/service/metrics/get-metrics.use-case.js.map +0 -1
  260. package/dist/src/app/application/service/metrics/index.js.map +0 -1
  261. package/dist/src/app/index.js.map +0 -1
  262. package/dist/src/app/infrastructure/adapters/client.repository.adapter.js.map +0 -1
  263. package/dist/src/app/infrastructure/adapters/index.js.map +0 -1
  264. package/dist/src/app/infrastructure/adapters/metrics.repository.adapter.js.map +0 -1
  265. package/dist/src/app/infrastructure/controllers/client.controller.js.map +0 -1
  266. package/dist/src/app/infrastructure/controllers/dto/index.js.map +0 -1
  267. package/dist/src/app/infrastructure/controllers/dto/locales.js.map +0 -1
  268. package/dist/src/app/infrastructure/controllers/index.js.map +0 -1
  269. package/dist/src/app/infrastructure/controllers/metrics.controller.js.map +0 -1
  270. package/dist/src/app/infrastructure/controllers/probe.controller.js.map +0 -1
  271. package/dist/src/app/infrastructure/index.js.map +0 -1
  272. package/dist/src/cors.js.map +0 -1
  273. package/dist/src/decorators/auth.js.map +0 -1
  274. package/dist/src/decorators/index.js.map +0 -1
  275. package/dist/src/decorators/roles.js.map +0 -1
  276. package/dist/src/enums/index.js.map +0 -1
  277. package/dist/src/enums/user.js.map +0 -1
  278. package/dist/src/errors.js.map +0 -1
  279. package/dist/src/filters/all-exception-filter.js.map +0 -1
  280. package/dist/src/filters/index.js.map +0 -1
  281. package/dist/src/http/controllers/index.js.map +0 -1
  282. package/dist/src/http/controllers/locales.js.map +0 -1
  283. package/dist/src/http/controllers/metrics.js.map +0 -1
  284. package/dist/src/http/controllers/probe.js.map +0 -1
  285. package/dist/src/http/dto/index.js.map +0 -1
  286. package/dist/src/http/dto/locales.js.map +0 -1
  287. package/dist/src/http/index.js.map +0 -1
  288. package/dist/src/index.js.map +0 -1
  289. package/dist/src/interceptors/index.js.map +0 -1
  290. package/dist/src/interceptors/routes-interceptor.js.map +0 -1
  291. package/dist/src/interceptors/tracing-interceptor.js.map +0 -1
  292. package/dist/src/middlewares/index.js.map +0 -1
  293. package/dist/src/middlewares/proxy-middleware.js.map +0 -1
  294. package/dist/src/middlewares/request-count-middleware.js.map +0 -1
  295. package/dist/src/middlewares/response-time-middleware.js.map +0 -1
  296. package/dist/src/providers/auth.js.map +0 -1
  297. package/dist/src/providers/index.js.map +0 -1
  298. package/dist/src/providers/roles.js.map +0 -1
  299. package/dist/tsconfig.build.tsbuildinfo +0 -1
  300. package/index.d.ts +0 -155
  301. package/interfaces/index.ts +0 -11
  302. package/interfaces/ports/client.driven.port.ts +0 -5
  303. package/interfaces/ports/crud.driven.port.ts +0 -57
  304. package/src/app/application/service/client/get-locale.use-case.ts +0 -13
  305. package/src/app/application/service/client/set-locale.use-case.ts +0 -13
  306. package/src/app/application/service/metrics/get-metrics.use-case.ts +0 -13
  307. package/src/app/domain/.keep +0 -0
  308. package/src/app/infrastructure/adapters/client.repository.adapter.ts +0 -35
  309. package/src/app/infrastructure/adapters/metrics.repository.adapter.ts +0 -13
  310. package/src/app/infrastructure/controllers/client.controller.ts +0 -28
  311. package/src/app/infrastructure/controllers/dto/locales.ts +0 -15
  312. package/src/app/infrastructure/controllers/metrics.controller.ts +0 -16
  313. package/src/app/infrastructure/controllers/probe.controller.ts +0 -18
  314. package/src/cors.ts +0 -19
  315. package/src/decorators/auth.ts +0 -9
  316. package/src/decorators/roles.ts +0 -12
  317. package/src/errors.ts +0 -19
  318. package/src/filters/all-exception-filter.ts +0 -91
  319. package/src/http/controllers/locales.ts +0 -79
  320. package/src/http/controllers/metrics.ts +0 -21
  321. package/src/http/controllers/probe.ts +0 -26
  322. package/src/http/dto/locales.ts +0 -15
  323. package/src/interceptors/routes-interceptor.ts +0 -39
  324. package/src/interceptors/tracing-interceptor.ts +0 -74
  325. package/src/middlewares/proxy-middleware.ts +0 -78
  326. package/src/middlewares/request-count-middleware.ts +0 -41
  327. package/src/middlewares/response-time-middleware.ts +0 -73
  328. package/src/providers/auth.ts +0 -36
  329. package/src/providers/roles.ts +0 -34
  330. package/tests/__snapshots__/index.spec.ts.snap +0 -44
  331. package/tests/index.spec.ts +0 -61
  332. package/tsconfig.build.json +0 -5
  333. package/tsconfig.json +0 -9
  334. /package/{interfaces/ports/index.ts → dist/types/interfaces/ports/index.d.ts} +0 -0
  335. /package/{src/app/application/index.ts → dist/types/src/app/application/index.d.ts} +0 -0
  336. /package/{src/app/application/ports/index.ts → dist/types/src/app/application/ports/index.d.ts} +0 -0
  337. /package/{src/app/application/service/client/index.ts → dist/types/src/app/application/service/client/index.d.ts} +0 -0
  338. /package/{src/app/application/service/index.ts → dist/types/src/app/application/service/index.d.ts} +0 -0
  339. /package/{src/app/application/service/metrics/index.ts → dist/types/src/app/application/service/metrics/index.d.ts} +0 -0
  340. /package/{src/app/index.ts → dist/types/src/app/index.d.ts} +0 -0
  341. /package/{src/app/infrastructure/adapters/index.ts → dist/types/src/app/infrastructure/adapters/index.d.ts} +0 -0
  342. /package/{src/app/infrastructure/controllers/dto/index.ts → dist/types/src/app/infrastructure/controllers/dto/index.d.ts} +0 -0
  343. /package/{src/app/infrastructure/controllers/index.ts → dist/types/src/app/infrastructure/controllers/index.d.ts} +0 -0
  344. /package/{src/decorators/index.ts → dist/types/src/decorators/index.d.ts} +0 -0
  345. /package/{src/enums/index.ts → dist/types/src/enums/index.d.ts} +0 -0
  346. /package/{src/enums/user.ts → dist/types/src/enums/user.d.ts} +0 -0
  347. /package/{src/filters/index.ts → dist/types/src/filters/index.d.ts} +0 -0
  348. /package/{src/http/controllers/index.ts → dist/types/src/http/controllers/index.d.ts} +0 -0
  349. /package/{src/http/dto/index.ts → dist/types/src/http/dto/index.d.ts} +0 -0
  350. /package/{src/http/index.ts → dist/types/src/http/index.d.ts} +0 -0
  351. /package/{src/index.ts → dist/types/src/index.d.ts} +0 -0
  352. /package/{src/interceptors/index.ts → dist/types/src/interceptors/index.d.ts} +0 -0
  353. /package/{src/middlewares/index.ts → dist/types/src/middlewares/index.d.ts} +0 -0
  354. /package/{src/providers/index.ts → dist/types/src/providers/index.d.ts} +0 -0
@@ -1,319 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/middlewares/proxy-middleware.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/middlewares</a> proxy-middleware.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">25% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>4/16</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/3</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">25% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>1/4</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">20% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>3/15</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-neutral">&nbsp;</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-yes">1x</span>
158
- <span class="cline-any cline-yes">1x</span>
159
- <span class="cline-any cline-neutral">&nbsp;</span>
160
- <span class="cline-any cline-neutral">&nbsp;</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-yes">1x</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-no">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-no">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-no">&nbsp;</span>
179
- <span class="cline-any cline-no">&nbsp;</span>
180
- <span class="cline-any cline-no">&nbsp;</span>
181
- <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span>
189
- <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-no">&nbsp;</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-neutral">&nbsp;</span>
193
- <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-no">&nbsp;</span>
199
- <span class="cline-any cline-no">&nbsp;</span>
200
- <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-no">&nbsp;</span>
203
- <span class="cline-any cline-no">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-no">&nbsp;</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-no">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import http from 'http';
223
- import type { ServerOptions } from 'http-proxy';
224
- import { pick, omit } from 'lodash';
225
- import { Request, Response } from 'express';
226
- import { createProxyMiddleware } from 'http-proxy-middleware';
227
- import { Options, RequestHandler } from 'http-proxy-middleware/dist/types';
228
- import { Injectable } from '@nestjs/common';
229
- import { counter, Counter, Histogram, Prometheus } from '@biorate/prometheus';
230
- import { time } from '@biorate/tools';
231
- import { inject, Types } from '@biorate/inversion';
232
- import { IConfig } from '@biorate/config';
233
- &nbsp;
234
- @Injectable()
235
- export class ProxyPrometheusMiddleware {
236
- @inject(Types.Config) private config: IConfig;
237
- &nbsp;
238
- @counter({
239
- name: 'http_proxy_server_requests_seconds_count',
240
- help: 'Http proxy server requests count',
241
- labelNames: ['method', 'uri', 'status'],
242
- })
243
- private counter: Counter;
244
- &nbsp;
245
- private handler: RequestHandler;
246
- &nbsp;
247
- <span class="cstat-no" title="statement not covered" > private time = new WeakMap&lt;Request, { time: () =&gt; number }&gt;();</span>
248
- &nbsp;
249
- private static histogram: Histogram;
250
- &nbsp;
251
- public static create(options?: Options) {
252
- <span class="cstat-no" title="statement not covered" > return new this(options).handler;</span>
253
- }
254
- &nbsp;
255
- private <span class="fstat-no" title="function not covered" >constructor(o</span>ptions: Options = <span class="branch-0 cbranch-no" title="branch not covered" >{}) {</span>
256
- const { onProxyReq, onProxyRes <span class="cstat-no" title="statement not covered" >} = pick(options, 'onProxyReq', 'onProxyRes');</span>
257
- <span class="cstat-no" title="statement not covered" > if (!ProxyPrometheusMiddleware.histogram)</span>
258
- <span class="cstat-no" title="statement not covered" > ProxyPrometheusMiddleware.histogram = new Histogram({</span>
259
- name: 'http_proxy_server_requests_seconds',
260
- help: 'Http proxy server requests seconds bucket',
261
- labelNames: ['method', 'uri', 'status'],
262
- buckets: this.config.get&lt;number[]&gt;(
263
- 'ProxyPrometheusMiddleware.histogram.buckets',
264
- [0.005, 0.01, 0.02, 0.05, 0.1, 0.3, 0.5, 1, 2, 3, 5, 10],
265
- ),
266
- registers: [Prometheus.registry],
267
- });
268
- <span class="cstat-no" title="statement not covered" > this.handler = createProxyMiddleware({</span>
269
- ...omit(options, 'onProxyReq', 'onProxyRes'),
270
- onProxyReq: <span class="fstat-no" title="function not covered" >(</span>
271
- proxyReq: http.ClientRequest,
272
- req: Request,
273
- res: Response,
274
- options: ServerOptions,
275
- ) =&gt; {
276
- <span class="cstat-no" title="statement not covered" > this.time.set(req, { time: time.diff() });</span>
277
- <span class="cstat-no" title="statement not covered" > return onProxyReq?.(proxyReq, req, res, options);</span>
278
- },
279
- onProxyRes: <span class="fstat-no" title="function not covered" >(p</span>roxyRes: http.IncomingMessage, req: Request, res: Response) =&gt; {
280
- const diff = <span class="cstat-no" title="statement not covered" >this.time.get(req);</span>
281
- <span class="cstat-no" title="statement not covered" > this.counter</span>
282
- .labels({
283
- method: req.method,
284
- uri: req.baseUrl,
285
- status: res.statusCode,
286
- })
287
- .inc();
288
- <span class="cstat-no" title="statement not covered" > ProxyPrometheusMiddleware.histogram</span>
289
- .labels({
290
- method: req.method,
291
- uri: req.baseUrl,
292
- status: res.statusCode,
293
- })
294
- .observe(time.msTo(diff!.time(), 's'));
295
- <span class="cstat-no" title="statement not covered" > return onProxyRes?.(proxyRes, req, res);</span>
296
- },
297
- });
298
- }
299
- }
300
- &nbsp;</pre></td></tr></table></pre>
301
-
302
- <div class='push'></div><!-- for sticky footer -->
303
- </div><!-- /wrapper -->
304
- <div class='footer quiet pad2 space-top1 center small'>
305
- Code coverage generated by
306
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
307
- at 2026-04-21T12:41:45.474Z
308
- </div>
309
- <script src="../../prettify.js"></script>
310
- <script>
311
- window.onload = function () {
312
- prettyPrint();
313
- };
314
- </script>
315
- <script src="../../sorter.js"></script>
316
- <script src="../../block-navigation.js"></script>
317
- </body>
318
- </html>
319
-
@@ -1,208 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/middlewares/request-count-middleware.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/middlewares</a> request-count-middleware.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">50% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>4/8</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/6</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/2</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">42.85% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>3/7</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line medium'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span>
111
- <span class="cline-any cline-neutral">&nbsp;</span>
112
- <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-yes">1x</span>
118
- <span class="cline-any cline-yes">1x</span>
119
- <span class="cline-any cline-neutral">&nbsp;</span>
120
- <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-neutral">&nbsp;</span>
124
- <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-yes">1x</span>
126
- <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-no">&nbsp;</span>
129
- <span class="cline-any cline-no">&nbsp;</span>
130
- <span class="cline-any cline-no">&nbsp;</span>
131
- <span class="cline-any cline-neutral">&nbsp;</span>
132
- <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-neutral">&nbsp;</span>
134
- <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-no">&nbsp;</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// @ts-ignore
149
- import onHeaders from 'on-headers';
150
- import { Injectable, NestMiddleware } from '@nestjs/common';
151
- import { counter, Counter } from '@biorate/prometheus';
152
- import { inject, Types } from '@biorate/inversion';
153
- import { IConfig } from '@biorate/config';
154
- import { Request, Response, NextFunction } from 'express';
155
- import { RoutesInterceptor } from '../interceptors';
156
- &nbsp;
157
- @Injectable()
158
- export class RequestCountMiddleware implements NestMiddleware {
159
- @inject(Types.Config) private config: IConfig;
160
- &nbsp;
161
- @counter({
162
- name: 'http_server_requests_seconds_count',
163
- help: 'Http server requests count',
164
- labelNames: ['method', 'uri', 'status'],
165
- })
166
- private counter: Counter;
167
- &nbsp;
168
- public <span class="fstat-no" title="function not covered" >use(r</span>eq: Request, res: Response, next: NextFunction) {
169
- <span class="cstat-no" title="statement not covered" > onHeaders(res, <span class="fstat-no" title="function not covered" >() =&gt; {</span></span>
170
- const route = <span class="cstat-no" title="statement not covered" >RoutesInterceptor.map.get(req);</span>
171
- <span class="cstat-no" title="statement not covered" > this.counter</span>
172
- .labels({
173
- method: req.method,
174
- uri:
175
- route?.path ??
176
- (this.config.get&lt;boolean&gt;(
177
- 'app.middleware.RequestCountMiddleware.log-base-url',
178
- false,
179
- )
180
- ? req.baseUrl || req.originalUrl
181
- : '/'),
182
- status: res.statusCode,
183
- })
184
- .inc();
185
- });
186
- <span class="cstat-no" title="statement not covered" > next();</span>
187
- }
188
- }
189
- &nbsp;</pre></td></tr></table></pre>
190
-
191
- <div class='push'></div><!-- for sticky footer -->
192
- </div><!-- /wrapper -->
193
- <div class='footer quiet pad2 space-top1 center small'>
194
- Code coverage generated by
195
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
196
- at 2026-04-21T12:41:45.474Z
197
- </div>
198
- <script src="../../prettify.js"></script>
199
- <script>
200
- window.onload = function () {
201
- prettyPrint();
202
- };
203
- </script>
204
- <script src="../../sorter.js"></script>
205
- <script src="../../block-navigation.js"></script>
206
- </body>
207
- </html>
208
-