@sima-land/isomorph 11.0.0-alpha.62 → 11.0.0-alpha.64

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 (321) hide show
  1. package/dist/cjs/cache/index.js.map +1 -1
  2. package/dist/cjs/cache/types.js.map +1 -1
  3. package/dist/cjs/config/base.js.map +1 -1
  4. package/dist/cjs/config/index.js.map +1 -1
  5. package/dist/cjs/config/source.js.map +1 -1
  6. package/dist/cjs/config/types.js.map +1 -1
  7. package/dist/cjs/di/application.js.map +1 -1
  8. package/dist/cjs/di/container.js.map +1 -1
  9. package/dist/cjs/di/errors.js.map +1 -1
  10. package/dist/cjs/di/index.js.map +1 -1
  11. package/dist/cjs/di/preset.js.map +1 -1
  12. package/dist/cjs/di/token.js.map +1 -1
  13. package/dist/cjs/di/types.js.map +1 -1
  14. package/dist/cjs/http/errors.js.map +1 -1
  15. package/dist/cjs/http/index.js.map +1 -1
  16. package/dist/cjs/http/types.js.map +1 -1
  17. package/dist/cjs/http/utils.js.map +1 -1
  18. package/dist/cjs/log/errors.js.map +1 -1
  19. package/dist/cjs/log/handler/pino.js.map +1 -1
  20. package/dist/cjs/log/handler/sentry.js.map +1 -1
  21. package/dist/cjs/log/index.js.map +1 -1
  22. package/dist/cjs/log/logger.js.map +1 -1
  23. package/dist/cjs/log/types.js.map +1 -1
  24. package/dist/cjs/package.json +23 -23
  25. package/dist/cjs/preset/isomorphic/index.js.map +1 -1
  26. package/dist/cjs/preset/isomorphic/providers/abort-controller.js.map +1 -1
  27. package/dist/cjs/preset/isomorphic/providers/axios-factory.js.map +1 -1
  28. package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js.map +1 -1
  29. package/dist/cjs/preset/isomorphic/providers/base-config.js.map +1 -1
  30. package/dist/cjs/preset/isomorphic/providers/fetch.js.map +1 -1
  31. package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -1
  32. package/dist/cjs/preset/isomorphic/types.js.map +1 -1
  33. package/dist/cjs/preset/isomorphic/utils/axios-logging.js.map +1 -1
  34. package/dist/cjs/preset/isomorphic/utils/disableable.js.map +1 -1
  35. package/dist/cjs/preset/isomorphic/utils/display-url.js.map +1 -1
  36. package/dist/cjs/preset/isomorphic/utils/fetch-logging.js.map +1 -1
  37. package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -1
  38. package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -1
  39. package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js.map +1 -1
  40. package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js.map +1 -1
  41. package/dist/cjs/preset/isomorphic/utils/http-status.js.map +1 -1
  42. package/dist/cjs/preset/isomorphic/utils/saga-logging.js.map +1 -1
  43. package/dist/cjs/preset/isomorphic/utils/severity-from-status.js.map +1 -1
  44. package/dist/cjs/preset/node/index.js.map +1 -1
  45. package/dist/cjs/preset/node/providers/config-source.js +2 -1
  46. package/dist/cjs/preset/node/providers/config-source.js.map +1 -1
  47. package/dist/cjs/preset/node/providers/express-error-middleware.js.map +1 -1
  48. package/dist/cjs/preset/node/providers/express-factory.js.map +1 -1
  49. package/dist/cjs/preset/node/providers/express-log-middleware.js.map +1 -1
  50. package/dist/cjs/preset/node/providers/express-metrics-middleware.js.map +1 -1
  51. package/dist/cjs/preset/node/providers/express-request-middleware.js.map +1 -1
  52. package/dist/cjs/preset/node/providers/express-tracing-middleware.js.map +1 -1
  53. package/dist/cjs/preset/node/providers/log-handler-pino.js.map +1 -1
  54. package/dist/cjs/preset/node/providers/log-handler-sentry.js.map +1 -1
  55. package/dist/cjs/preset/node/providers/logger.js.map +1 -1
  56. package/dist/cjs/preset/node/providers/main-express-app.js +0 -1
  57. package/dist/cjs/preset/node/providers/main-express-app.js.map +1 -1
  58. package/dist/cjs/preset/node/providers/metrics-express-app.js.map +1 -1
  59. package/dist/cjs/preset/node/providers/public-envs.js.map +1 -1
  60. package/dist/cjs/preset/node/providers/telemetry-tracer-provider.js.map +1 -1
  61. package/dist/cjs/preset/node/providers/telemetry-tracer-resource.js.map +1 -1
  62. package/dist/cjs/preset/node/providers/telemetry-tracer-span-exporter.js.map +1 -1
  63. package/dist/cjs/preset/node/providers/telemetry-tracer.js.map +1 -1
  64. package/dist/cjs/preset/node/types.js.map +1 -1
  65. package/dist/cjs/preset/node/utils/axios-tracing-middleware.js.map +1 -1
  66. package/dist/cjs/preset/node/utils/emitter-as-target.js.map +1 -1
  67. package/dist/cjs/preset/node/utils/get-client-ip.js.map +1 -1
  68. package/dist/cjs/preset/node/utils/get-fetch-tracing.js.map +1 -1
  69. package/dist/cjs/preset/node/utils/get-forwarded-headers.js.map +1 -1
  70. package/dist/cjs/preset/node/utils/get-handler-metrics.js.map +1 -1
  71. package/dist/cjs/preset/node/utils/get-page-response-format.js.map +1 -1
  72. package/dist/cjs/preset/node/utils/get-serve-measuring.js.map +1 -1
  73. package/dist/cjs/preset/node/utils/handler-provider.js.map +1 -1
  74. package/dist/cjs/preset/node/utils/telemetry.js.map +1 -1
  75. package/dist/cjs/preset/node-handler/index.js.map +1 -1
  76. package/dist/cjs/preset/node-handler/providers/accepts-type.js.map +1 -1
  77. package/dist/cjs/preset/node-handler/providers/axios-log-handler.js.map +1 -1
  78. package/dist/cjs/preset/node-handler/providers/axios-middleware.js.map +1 -1
  79. package/dist/cjs/preset/node-handler/providers/fetch-middleware.js.map +1 -1
  80. package/dist/cjs/preset/node-handler/providers/handler-main.js.map +1 -1
  81. package/dist/cjs/preset/node-handler/providers/response-events.js.map +1 -1
  82. package/dist/cjs/preset/node-handler/providers/specific-params.js.map +1 -1
  83. package/dist/cjs/preset/server/constants.js.map +1 -1
  84. package/dist/cjs/preset/server/index.js.map +1 -1
  85. package/dist/cjs/preset/server/providers/element-to-string.js.map +1 -1
  86. package/dist/cjs/preset/server/providers/fetch-log-handler.js.map +1 -1
  87. package/dist/cjs/preset/server/providers/fetch-middleware.js.map +1 -1
  88. package/dist/cjs/preset/server/providers/format-page-response.js.map +1 -1
  89. package/dist/cjs/preset/server/providers/known-http-api-hosts.js.map +1 -1
  90. package/dist/cjs/preset/server/providers/page-helmet.js.map +1 -1
  91. package/dist/cjs/preset/server/providers/page-render.js.map +1 -1
  92. package/dist/cjs/preset/server/providers/response-events.js.map +1 -1
  93. package/dist/cjs/preset/server/providers/serve.js +2 -1
  94. package/dist/cjs/preset/server/providers/serve.js.map +1 -1
  95. package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js.map +1 -1
  96. package/dist/cjs/preset/server/types.js.map +1 -1
  97. package/dist/cjs/preset/server/utils/apply-server-middleware.js.map +1 -1
  98. package/dist/cjs/preset/server/utils/format-handler-error.js.map +1 -1
  99. package/dist/cjs/preset/server/utils/get-client-ip.js.map +1 -1
  100. package/dist/cjs/preset/server/utils/get-forwarded-headers.js.map +1 -1
  101. package/dist/cjs/preset/server/utils/get-health-check.js.map +1 -1
  102. package/dist/cjs/preset/server/utils/get-page-response-format.js.map +1 -1
  103. package/dist/cjs/preset/server/utils/get-serve-error-logging.js.map +1 -1
  104. package/dist/cjs/preset/server/utils/get-serve-logging.js.map +1 -1
  105. package/dist/cjs/preset/server/utils/handler-provider.js.map +1 -1
  106. package/dist/cjs/preset/server/utils/regular-helmet.js.map +1 -1
  107. package/dist/cjs/preset/server/utils/specific-extras.js.map +1 -1
  108. package/dist/cjs/preset/web/index.js.map +1 -1
  109. package/dist/cjs/preset/web/providers/axios-middleware.js.map +1 -1
  110. package/dist/cjs/preset/web/providers/config-source.js.map +1 -1
  111. package/dist/cjs/preset/web/providers/fetch-middleware.js.map +1 -1
  112. package/dist/cjs/preset/web/providers/known-http-api-hosts.js.map +1 -1
  113. package/dist/cjs/preset/web/providers/logger.js.map +1 -1
  114. package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js.map +1 -1
  115. package/dist/cjs/tokens.js.map +1 -1
  116. package/dist/cjs/utils/axios/index.js.map +1 -1
  117. package/dist/cjs/utils/axios/middleware/log.js.map +1 -1
  118. package/dist/cjs/utils/axios/sauce/index.js.map +1 -1
  119. package/dist/cjs/utils/axios/utils/index.js.map +1 -1
  120. package/dist/cjs/utils/express/handler/health-check.js.map +1 -1
  121. package/dist/cjs/utils/express/index.js.map +1 -1
  122. package/dist/cjs/utils/express/utils/index.js.map +1 -1
  123. package/dist/cjs/utils/function.js.map +1 -1
  124. package/dist/cjs/utils/index.js.map +1 -1
  125. package/dist/cjs/utils/math.js.map +1 -1
  126. package/dist/cjs/utils/react/error-handlers/index.js.map +1 -1
  127. package/dist/cjs/utils/react/index.js.map +1 -1
  128. package/dist/cjs/utils/redux/index.js.map +1 -1
  129. package/dist/cjs/utils/redux/remote-data.js +3 -1
  130. package/dist/cjs/utils/redux/remote-data.js.map +1 -1
  131. package/dist/cjs/utils/redux-saga/index.js.map +1 -1
  132. package/dist/cjs/utils/redux-saga/middleware.js.map +1 -1
  133. package/dist/cjs/utils/redux-saga/take-chain.js.map +1 -1
  134. package/dist/cjs/utils/redux-saga/types.js.map +1 -1
  135. package/dist/cjs/utils/selectors/create-curried-selector.js.map +1 -1
  136. package/dist/cjs/utils/ssr/index.js.map +1 -1
  137. package/dist/cjs/utils/web/analytics/data-layer.js.map +1 -1
  138. package/dist/cjs/utils/web/analytics/index.js.map +1 -1
  139. package/dist/cjs/utils/web/analytics/oko.js.map +1 -1
  140. package/dist/cjs/utils/web/storage/index.js.map +1 -1
  141. package/dist/cjs/utils/webpack/env/index.js.map +1 -1
  142. package/dist/cjs/utils/webpack/env/types.js.map +1 -1
  143. package/dist/cjs/utils/webpack/env/utils.js.map +1 -1
  144. package/dist/cjs/utils/webpack/index.js.map +1 -1
  145. package/dist/cjs/utils/webpack/module-federation/index.js.map +1 -1
  146. package/dist/cjs/utils/webpack/module-federation/types.js.map +1 -1
  147. package/dist/cjs/utils/webpack/module-federation/utils.js.map +1 -1
  148. package/dist/esm/cache/index.js.map +1 -1
  149. package/dist/esm/cache/types.js.map +1 -1
  150. package/dist/esm/config/base.js.map +1 -1
  151. package/dist/esm/config/index.js.map +1 -1
  152. package/dist/esm/config/source.js.map +1 -1
  153. package/dist/esm/config/types.js.map +1 -1
  154. package/dist/esm/di/application.js.map +1 -1
  155. package/dist/esm/di/container.js.map +1 -1
  156. package/dist/esm/di/errors.js.map +1 -1
  157. package/dist/esm/di/index.js.map +1 -1
  158. package/dist/esm/di/preset.js.map +1 -1
  159. package/dist/esm/di/token.js.map +1 -1
  160. package/dist/esm/di/types.js.map +1 -1
  161. package/dist/esm/http/errors.js.map +1 -1
  162. package/dist/esm/http/index.js.map +1 -1
  163. package/dist/esm/http/types.js.map +1 -1
  164. package/dist/esm/http/utils.js.map +1 -1
  165. package/dist/esm/log/errors.js.map +1 -1
  166. package/dist/esm/log/handler/pino.js.map +1 -1
  167. package/dist/esm/log/handler/sentry.js.map +1 -1
  168. package/dist/esm/log/index.js.map +1 -1
  169. package/dist/esm/log/logger.js.map +1 -1
  170. package/dist/esm/log/types.js.map +1 -1
  171. package/dist/esm/package.json +23 -23
  172. package/dist/esm/preset/isomorphic/index.js.map +1 -1
  173. package/dist/esm/preset/isomorphic/providers/abort-controller.js.map +1 -1
  174. package/dist/esm/preset/isomorphic/providers/axios-factory.js.map +1 -1
  175. package/dist/esm/preset/isomorphic/providers/axios-log-handler.js.map +1 -1
  176. package/dist/esm/preset/isomorphic/providers/base-config.js.map +1 -1
  177. package/dist/esm/preset/isomorphic/providers/fetch.js.map +1 -1
  178. package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -1
  179. package/dist/esm/preset/isomorphic/types.js.map +1 -1
  180. package/dist/esm/preset/isomorphic/utils/axios-logging.js.map +1 -1
  181. package/dist/esm/preset/isomorphic/utils/disableable.js.map +1 -1
  182. package/dist/esm/preset/isomorphic/utils/display-url.js.map +1 -1
  183. package/dist/esm/preset/isomorphic/utils/fetch-logging.js.map +1 -1
  184. package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -1
  185. package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -1
  186. package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js.map +1 -1
  187. package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js.map +1 -1
  188. package/dist/esm/preset/isomorphic/utils/http-status.js.map +1 -1
  189. package/dist/esm/preset/isomorphic/utils/saga-logging.js.map +1 -1
  190. package/dist/esm/preset/isomorphic/utils/severity-from-status.js.map +1 -1
  191. package/dist/esm/preset/node/index.js.map +1 -1
  192. package/dist/esm/preset/node/providers/config-source.js +2 -1
  193. package/dist/esm/preset/node/providers/config-source.js.map +1 -1
  194. package/dist/esm/preset/node/providers/express-error-middleware.js.map +1 -1
  195. package/dist/esm/preset/node/providers/express-factory.js.map +1 -1
  196. package/dist/esm/preset/node/providers/express-log-middleware.js.map +1 -1
  197. package/dist/esm/preset/node/providers/express-metrics-middleware.js.map +1 -1
  198. package/dist/esm/preset/node/providers/express-request-middleware.js.map +1 -1
  199. package/dist/esm/preset/node/providers/express-tracing-middleware.js.map +1 -1
  200. package/dist/esm/preset/node/providers/log-handler-pino.js.map +1 -1
  201. package/dist/esm/preset/node/providers/log-handler-sentry.js.map +1 -1
  202. package/dist/esm/preset/node/providers/logger.js.map +1 -1
  203. package/dist/esm/preset/node/providers/main-express-app.js +0 -1
  204. package/dist/esm/preset/node/providers/main-express-app.js.map +1 -1
  205. package/dist/esm/preset/node/providers/metrics-express-app.js.map +1 -1
  206. package/dist/esm/preset/node/providers/public-envs.js.map +1 -1
  207. package/dist/esm/preset/node/providers/telemetry-tracer-provider.js +1 -1
  208. package/dist/esm/preset/node/providers/telemetry-tracer-provider.js.map +1 -1
  209. package/dist/esm/preset/node/providers/telemetry-tracer-resource.js.map +1 -1
  210. package/dist/esm/preset/node/providers/telemetry-tracer-span-exporter.js.map +1 -1
  211. package/dist/esm/preset/node/providers/telemetry-tracer.js.map +1 -1
  212. package/dist/esm/preset/node/types.js.map +1 -1
  213. package/dist/esm/preset/node/utils/axios-tracing-middleware.js.map +1 -1
  214. package/dist/esm/preset/node/utils/emitter-as-target.js.map +1 -1
  215. package/dist/esm/preset/node/utils/get-client-ip.js.map +1 -1
  216. package/dist/esm/preset/node/utils/get-fetch-tracing.js.map +1 -1
  217. package/dist/esm/preset/node/utils/get-forwarded-headers.js.map +1 -1
  218. package/dist/esm/preset/node/utils/get-handler-metrics.js.map +1 -1
  219. package/dist/esm/preset/node/utils/get-page-response-format.js.map +1 -1
  220. package/dist/esm/preset/node/utils/get-serve-measuring.js.map +1 -1
  221. package/dist/esm/preset/node/utils/handler-provider.js.map +1 -1
  222. package/dist/esm/preset/node/utils/telemetry.js.map +1 -1
  223. package/dist/esm/preset/node-handler/index.js.map +1 -1
  224. package/dist/esm/preset/node-handler/providers/accepts-type.js.map +1 -1
  225. package/dist/esm/preset/node-handler/providers/axios-log-handler.js.map +1 -1
  226. package/dist/esm/preset/node-handler/providers/axios-middleware.js.map +1 -1
  227. package/dist/esm/preset/node-handler/providers/fetch-middleware.js.map +1 -1
  228. package/dist/esm/preset/node-handler/providers/handler-main.js.map +1 -1
  229. package/dist/esm/preset/node-handler/providers/response-events.js.map +1 -1
  230. package/dist/esm/preset/node-handler/providers/specific-params.js.map +1 -1
  231. package/dist/esm/preset/server/constants.js.map +1 -1
  232. package/dist/esm/preset/server/index.js.map +1 -1
  233. package/dist/esm/preset/server/providers/element-to-string.js.map +1 -1
  234. package/dist/esm/preset/server/providers/fetch-log-handler.js.map +1 -1
  235. package/dist/esm/preset/server/providers/fetch-middleware.js.map +1 -1
  236. package/dist/esm/preset/server/providers/format-page-response.js.map +1 -1
  237. package/dist/esm/preset/server/providers/known-http-api-hosts.js.map +1 -1
  238. package/dist/esm/preset/server/providers/page-helmet.js.map +1 -1
  239. package/dist/esm/preset/server/providers/page-render.js.map +1 -1
  240. package/dist/esm/preset/server/providers/response-events.js.map +1 -1
  241. package/dist/esm/preset/server/providers/serve.js +2 -1
  242. package/dist/esm/preset/server/providers/serve.js.map +1 -1
  243. package/dist/esm/preset/server/providers/ssr-bridge-server-side.js.map +1 -1
  244. package/dist/esm/preset/server/types.js.map +1 -1
  245. package/dist/esm/preset/server/utils/apply-server-middleware.js.map +1 -1
  246. package/dist/esm/preset/server/utils/format-handler-error.js.map +1 -1
  247. package/dist/esm/preset/server/utils/get-client-ip.js.map +1 -1
  248. package/dist/esm/preset/server/utils/get-forwarded-headers.js.map +1 -1
  249. package/dist/esm/preset/server/utils/get-health-check.js.map +1 -1
  250. package/dist/esm/preset/server/utils/get-page-response-format.js.map +1 -1
  251. package/dist/esm/preset/server/utils/get-serve-error-logging.js.map +1 -1
  252. package/dist/esm/preset/server/utils/get-serve-logging.js.map +1 -1
  253. package/dist/esm/preset/server/utils/handler-provider.js.map +1 -1
  254. package/dist/esm/preset/server/utils/regular-helmet.js.map +1 -1
  255. package/dist/esm/preset/server/utils/specific-extras.js.map +1 -1
  256. package/dist/esm/preset/web/index.js.map +1 -1
  257. package/dist/esm/preset/web/providers/axios-middleware.js.map +1 -1
  258. package/dist/esm/preset/web/providers/config-source.js.map +1 -1
  259. package/dist/esm/preset/web/providers/fetch-middleware.js.map +1 -1
  260. package/dist/esm/preset/web/providers/known-http-api-hosts.js.map +1 -1
  261. package/dist/esm/preset/web/providers/logger.js.map +1 -1
  262. package/dist/esm/preset/web/providers/ssr-bridge-client-side.js.map +1 -1
  263. package/dist/esm/tokens.js.map +1 -1
  264. package/dist/esm/utils/axios/index.js.map +1 -1
  265. package/dist/esm/utils/axios/middleware/log.js.map +1 -1
  266. package/dist/esm/utils/axios/sauce/index.js.map +1 -1
  267. package/dist/esm/utils/axios/utils/index.js.map +1 -1
  268. package/dist/esm/utils/express/handler/health-check.js.map +1 -1
  269. package/dist/esm/utils/express/index.js.map +1 -1
  270. package/dist/esm/utils/express/utils/index.js.map +1 -1
  271. package/dist/esm/utils/function.js.map +1 -1
  272. package/dist/esm/utils/index.js.map +1 -1
  273. package/dist/esm/utils/math.js.map +1 -1
  274. package/dist/esm/utils/react/error-handlers/index.js.map +1 -1
  275. package/dist/esm/utils/react/index.js.map +1 -1
  276. package/dist/esm/utils/redux/index.js.map +1 -1
  277. package/dist/esm/utils/redux/remote-data.js +3 -1
  278. package/dist/esm/utils/redux/remote-data.js.map +1 -1
  279. package/dist/esm/utils/redux-saga/index.js.map +1 -1
  280. package/dist/esm/utils/redux-saga/middleware.js.map +1 -1
  281. package/dist/esm/utils/redux-saga/take-chain.js.map +1 -1
  282. package/dist/esm/utils/redux-saga/types.js.map +1 -1
  283. package/dist/esm/utils/selectors/create-curried-selector.js.map +1 -1
  284. package/dist/esm/utils/ssr/index.js.map +1 -1
  285. package/dist/esm/utils/web/analytics/data-layer.js.map +1 -1
  286. package/dist/esm/utils/web/analytics/index.js.map +1 -1
  287. package/dist/esm/utils/web/analytics/oko.js.map +1 -1
  288. package/dist/esm/utils/web/storage/index.js.map +1 -1
  289. package/dist/esm/utils/webpack/env/index.js.map +1 -1
  290. package/dist/esm/utils/webpack/env/types.js.map +1 -1
  291. package/dist/esm/utils/webpack/env/utils.js.map +1 -1
  292. package/dist/esm/utils/webpack/index.js.map +1 -1
  293. package/dist/esm/utils/webpack/module-federation/index.js.map +1 -1
  294. package/dist/esm/utils/webpack/module-federation/types.js.map +1 -1
  295. package/dist/esm/utils/webpack/module-federation/utils.js.map +1 -1
  296. package/dist/types/http/utils.d.ts +1 -1
  297. package/dist/types/http/utils.d.ts.map +1 -1
  298. package/dist/types/log/types.d.ts +7 -7
  299. package/dist/types/log/types.d.ts.map +1 -1
  300. package/dist/types/preset/isomorphic/providers/axios-factory.d.ts.map +1 -1
  301. package/dist/types/preset/node/providers/telemetry-tracer-provider.d.ts +2 -2
  302. package/dist/types/preset/node/providers/telemetry-tracer-provider.d.ts.map +1 -1
  303. package/dist/types/preset/node/utils/emitter-as-target.d.ts +0 -1
  304. package/dist/types/preset/node/utils/emitter-as-target.d.ts.map +1 -1
  305. package/dist/types/preset/node/utils/get-handler-metrics.d.ts +3 -3
  306. package/dist/types/preset/server/providers/page-helmet.d.ts +1 -2
  307. package/dist/types/preset/server/providers/page-helmet.d.ts.map +1 -1
  308. package/dist/types/preset/server/providers/serve.d.ts.map +1 -1
  309. package/dist/types/preset/server/types.d.ts +0 -1
  310. package/dist/types/preset/server/types.d.ts.map +1 -1
  311. package/dist/types/preset/server/utils/regular-helmet.d.ts +2 -2
  312. package/dist/types/preset/server/utils/regular-helmet.d.ts.map +1 -1
  313. package/dist/types/tokens.d.ts +0 -1
  314. package/dist/types/tokens.d.ts.map +1 -1
  315. package/dist/types/utils/index.d.ts.map +1 -1
  316. package/dist/types/utils/redux/remote-data.d.ts +15 -5
  317. package/dist/types/utils/redux/remote-data.d.ts.map +1 -1
  318. package/dist/types/utils/selectors/create-curried-selector.d.ts +2 -2
  319. package/dist/types/utils/selectors/create-curried-selector.d.ts.map +1 -1
  320. package/dist/types/utils/ssr/index.d.ts.map +1 -1
  321. package/package.json +55 -52
@@ -1 +1 @@
1
- {"version":3,"file":"express-error-middleware.js","names":["expressErrorHandler","provideExpressErrorMiddleware"],"sources":["../../../../../src/preset/node/providers/express-error-middleware.ts"],"sourcesContent":["import { expressErrorHandler } from '@sentry/node';\nimport type express from 'express';\n\n/**\n * Провайдер промежуточного слоя обработки ошибок в рамках ответ на http-запросы.\n * @return Промежуточный слой.\n */\nexport function provideExpressErrorMiddleware(): express.ErrorRequestHandler {\n return expressErrorHandler();\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAGlD;AACA;AACA;AACA;AACA,OAAO,SAASC,6BAA6BA,CAAA,EAAgC;EAC3E,OAAOD,mBAAmB,CAAC,CAAC;AAC9B"}
1
+ {"version":3,"file":"express-error-middleware.js","names":["expressErrorHandler","provideExpressErrorMiddleware"],"sources":["../../../../../src/preset/node/providers/express-error-middleware.ts"],"sourcesContent":["import { expressErrorHandler } from '@sentry/node';\nimport type express from 'express';\n\n/**\n * Провайдер промежуточного слоя обработки ошибок в рамках ответ на http-запросы.\n * @return Промежуточный слой.\n */\nexport function provideExpressErrorMiddleware(): express.ErrorRequestHandler {\n return expressErrorHandler();\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAGlD;AACA;AACA;AACA;AACA,OAAO,SAASC,6BAA6BA,CAAA,EAAgC;EAC3E,OAAOD,mBAAmB,CAAC,CAAC;AAC9B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"express-factory.js","names":["express","provideExpressFactory"],"sources":["../../../../../src/preset/node/providers/express-factory.ts"],"sourcesContent":["import express from 'express';\n\n/**\n * Провайдер фабрики http-серверов.\n * @return Фабрика.\n */\nexport function provideExpressFactory() {\n return express;\n}\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,SAAS;;AAE7B;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAA,EAAG;EACtC,OAAOD,OAAO;AAChB"}
1
+ {"version":3,"file":"express-factory.js","names":["express","provideExpressFactory"],"sources":["../../../../../src/preset/node/providers/express-factory.ts"],"sourcesContent":["import express from 'express';\n\n/**\n * Провайдер фабрики http-серверов.\n * @return Фабрика.\n */\nexport function provideExpressFactory() {\n return express;\n}\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,SAAS;;AAE7B;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAA,EAAG;EACtC,OAAOD,OAAO;AAChB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"express-log-middleware.js","names":["KnownToken","getClientIp","toMilliseconds","provideExpressLogMiddleware","resolve","config","Config","base","logger","req","res","next","start","process","hrtime","bigint","remoteIp","startMsg","type","version","appVersion","route","originalUrl","method","remote_ip","info","once","finish","finishMsg","status","statusCode","latency"],"sources":["../../../../../src/preset/node/providers/express-log-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport type { ConventionalFluentInfo } from '../../../log/types';\nimport { KnownToken } from '../../../tokens';\nimport { getClientIp } from '../utils/get-client-ip';\nimport { toMilliseconds } from '../../../utils';\n\n/**\n * Провайдер промежуточного слоя логирования входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressLogMiddleware(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return (req, res, next) => {\n const start = process.hrtime.bigint();\n const remoteIp = getClientIp(req) ?? '';\n\n const startMsg: Omit<ConventionalFluentInfo, 'latency' | 'status'> & { type: string } = {\n type: 'http.request[incoming]',\n version: config.appVersion,\n route: req.originalUrl,\n method: req.method,\n remote_ip: remoteIp,\n };\n\n logger.info(startMsg);\n\n res.once('finish', () => {\n const finish = process.hrtime.bigint();\n\n const finishMsg: ConventionalFluentInfo & { type: string } = {\n type: 'http.response[outgoing]',\n version: config.appVersion,\n route: req.originalUrl,\n method: req.method,\n status: res.statusCode,\n remote_ip: remoteIp,\n latency: toMilliseconds(finish - start),\n };\n\n logger.info(finishMsg);\n });\n\n next();\n };\n}\n"],"mappings":"AAGA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,WAAW,QAAQ,2BAAwB;AACpD,SAASC,cAAc,QAAQ,2BAAgB;;AAE/C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,2BAA2BA,CAACC,OAAgB,EAAmB;EAC7E,MAAMC,MAAM,GAAGD,OAAO,CAACJ,UAAU,CAACM,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGJ,OAAO,CAACJ,UAAU,CAACQ,MAAM,CAAC;EAEzC,OAAO,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IACzB,MAAMC,KAAK,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IACrC,MAAMC,QAAQ,GAAGf,WAAW,CAACQ,GAAG,CAAC,IAAI,EAAE;IAEvC,MAAMQ,QAA+E,GAAG;MACtFC,IAAI,EAAE,wBAAwB;MAC9BC,OAAO,EAAEd,MAAM,CAACe,UAAU;MAC1BC,KAAK,EAAEZ,GAAG,CAACa,WAAW;MACtBC,MAAM,EAAEd,GAAG,CAACc,MAAM;MAClBC,SAAS,EAAER;IACb,CAAC;IAEDR,MAAM,CAACiB,IAAI,CAACR,QAAQ,CAAC;IAErBP,GAAG,CAACgB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMC,MAAM,GAAGd,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAEtC,MAAMa,SAAoD,GAAG;QAC3DV,IAAI,EAAE,yBAAyB;QAC/BC,OAAO,EAAEd,MAAM,CAACe,UAAU;QAC1BC,KAAK,EAAEZ,GAAG,CAACa,WAAW;QACtBC,MAAM,EAAEd,GAAG,CAACc,MAAM;QAClBM,MAAM,EAAEnB,GAAG,CAACoB,UAAU;QACtBN,SAAS,EAAER,QAAQ;QACnBe,OAAO,EAAE7B,cAAc,CAACyB,MAAM,GAAGf,KAAK;MACxC,CAAC;MAEDJ,MAAM,CAACiB,IAAI,CAACG,SAAS,CAAC;IACxB,CAAC,CAAC;IAEFjB,IAAI,CAAC,CAAC;EACR,CAAC;AACH"}
1
+ {"version":3,"file":"express-log-middleware.js","names":["KnownToken","getClientIp","toMilliseconds","provideExpressLogMiddleware","resolve","config","Config","base","logger","req","res","next","start","process","hrtime","bigint","remoteIp","startMsg","type","version","appVersion","route","originalUrl","method","remote_ip","info","once","finish","finishMsg","status","statusCode","latency"],"sources":["../../../../../src/preset/node/providers/express-log-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport type { ConventionalFluentInfo } from '../../../log/types';\nimport { KnownToken } from '../../../tokens';\nimport { getClientIp } from '../utils/get-client-ip';\nimport { toMilliseconds } from '../../../utils';\n\n/**\n * Провайдер промежуточного слоя логирования входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressLogMiddleware(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return (req, res, next) => {\n const start = process.hrtime.bigint();\n const remoteIp = getClientIp(req) ?? '';\n\n const startMsg: Omit<ConventionalFluentInfo, 'latency' | 'status'> & { type: string } = {\n type: 'http.request[incoming]',\n version: config.appVersion,\n route: req.originalUrl,\n method: req.method,\n remote_ip: remoteIp,\n };\n\n logger.info(startMsg);\n\n res.once('finish', () => {\n const finish = process.hrtime.bigint();\n\n const finishMsg: ConventionalFluentInfo & { type: string } = {\n type: 'http.response[outgoing]',\n version: config.appVersion,\n route: req.originalUrl,\n method: req.method,\n status: res.statusCode,\n remote_ip: remoteIp,\n latency: toMilliseconds(finish - start),\n };\n\n logger.info(finishMsg);\n });\n\n next();\n };\n}\n"],"mappings":"AAGA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,WAAW,QAAQ,2BAAwB;AACpD,SAASC,cAAc,QAAQ,2BAAgB;;AAE/C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,2BAA2BA,CAACC,OAAgB,EAAmB;EAC7E,MAAMC,MAAM,GAAGD,OAAO,CAACJ,UAAU,CAACM,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGJ,OAAO,CAACJ,UAAU,CAACQ,MAAM,CAAC;EAEzC,OAAO,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IACzB,MAAMC,KAAK,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IACrC,MAAMC,QAAQ,GAAGf,WAAW,CAACQ,GAAG,CAAC,IAAI,EAAE;IAEvC,MAAMQ,QAA+E,GAAG;MACtFC,IAAI,EAAE,wBAAwB;MAC9BC,OAAO,EAAEd,MAAM,CAACe,UAAU;MAC1BC,KAAK,EAAEZ,GAAG,CAACa,WAAW;MACtBC,MAAM,EAAEd,GAAG,CAACc,MAAM;MAClBC,SAAS,EAAER;IACb,CAAC;IAEDR,MAAM,CAACiB,IAAI,CAACR,QAAQ,CAAC;IAErBP,GAAG,CAACgB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMC,MAAM,GAAGd,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAEtC,MAAMa,SAAoD,GAAG;QAC3DV,IAAI,EAAE,yBAAyB;QAC/BC,OAAO,EAAEd,MAAM,CAACe,UAAU;QAC1BC,KAAK,EAAEZ,GAAG,CAACa,WAAW;QACtBC,MAAM,EAAEd,GAAG,CAACc,MAAM;QAClBM,MAAM,EAAEnB,GAAG,CAACoB,UAAU;QACtBN,SAAS,EAAER,QAAQ;QACnBe,OAAO,EAAE7B,cAAc,CAACyB,MAAM,GAAGf,KAAK;MACxC,CAAC;MAEDJ,MAAM,CAACiB,IAAI,CAACG,SAAS,CAAC;IACxB,CAAC,CAAC;IAEFjB,IAAI,CAAC,CAAC;EACR,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"express-metrics-middleware.js","names":["getHandlerMetrics","KnownToken","PAGE_HANDLER_EVENT_TYPE","toMilliseconds","provideExpressMetricsMiddleware","resolve","config","Config","base","requestCount","renderDuration","responseDuration","getLabels","req","res","version","appVersion","route","baseUrl","path","code","statusCode","method","getRenderLabels","request","url","next","responseStart","process","hrtime","bigint","inc","once","renderStart","renderFinish","observe","responseFinish"],"sources":["../../../../../src/preset/node/providers/express-metrics-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { LABEL_NAMES, getHandlerMetrics } from '../utils/get-handler-metrics';\nimport { KnownToken } from '../../../tokens';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server';\nimport { toMilliseconds } from '../../../utils';\n\n/**\n * Провайдер промежуточного слоя сбора метрик входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressMetricsMiddleware(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const { requestCount, renderDuration, responseDuration } = getHandlerMetrics();\n\n /**\n * Функция формирования labels.\n * @param req Request.\n * @param res Response.\n * @return Labels.\n */\n const getLabels = (\n req: express.Request,\n res: express.Response,\n ): Record<(typeof LABEL_NAMES.httpResponse)[number], string | number> => ({\n version: config.appVersion,\n route: req.baseUrl + req.path,\n code: res.statusCode,\n method: req.method,\n });\n\n /** @inheritdoc */\n const getRenderLabels = (request: express.Request) =>\n ({\n version: config.appVersion,\n method: request.method,\n route: request.url,\n }) satisfies Record<(typeof LABEL_NAMES.pageRender)[number], string | number>;\n\n return (req, res, next) => {\n const responseStart = process.hrtime.bigint();\n\n requestCount.inc(getLabels(req, res), 1);\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {\n const renderStart = process.hrtime.bigint();\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {\n const renderFinish = process.hrtime.bigint();\n\n renderDuration.observe(getRenderLabels(req), toMilliseconds(renderFinish - renderStart));\n });\n });\n\n res.once('finish', () => {\n const responseFinish = process.hrtime.bigint();\n\n responseDuration.observe(getLabels(req, res), toMilliseconds(responseFinish - responseStart));\n });\n\n next();\n };\n}\n"],"mappings":"AAEA,SAAsBA,iBAAiB,QAAQ,iCAA8B;AAC7E,SAASC,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,uBAAuB,QAAQ,yBAAc;AACtD,SAASC,cAAc,QAAQ,2BAAgB;;AAE/C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA,CAACC,OAAgB,EAAmB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACJ,UAAU,CAACM,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAGX,iBAAiB,CAAC,CAAC;;EAE9E;AACF;AACA;AACA;AACA;AACA;EACE,MAAMY,SAAS,GAAGA,CAChBC,GAAoB,EACpBC,GAAqB,MACmD;IACxEC,OAAO,EAAET,MAAM,CAACU,UAAU;IAC1BC,KAAK,EAAEJ,GAAG,CAACK,OAAO,GAAGL,GAAG,CAACM,IAAI;IAC7BC,IAAI,EAAEN,GAAG,CAACO,UAAU;IACpBC,MAAM,EAAET,GAAG,CAACS;EACd,CAAC,CAAC;;EAEF;EACA,MAAMC,eAAe,GAAIC,OAAwB,KAC9C;IACCT,OAAO,EAAET,MAAM,CAACU,UAAU;IAC1BM,MAAM,EAAEE,OAAO,CAACF,MAAM;IACtBL,KAAK,EAAEO,OAAO,CAACC;EACjB,CAAC,CAA4E;EAE/E,OAAO,CAACZ,GAAG,EAAEC,GAAG,EAAEY,IAAI,KAAK;IACzB,MAAMC,aAAa,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAE7CrB,YAAY,CAACsB,GAAG,CAACnB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExCA,GAAG,CAACkB,IAAI,CAAC9B,uBAAuB,CAAC+B,WAAW,EAAE,MAAM;MAClD,MAAMA,WAAW,GAAGL,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE3ChB,GAAG,CAACkB,IAAI,CAAC9B,uBAAuB,CAACgC,YAAY,EAAE,MAAM;QACnD,MAAMA,YAAY,GAAGN,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;QAE5CpB,cAAc,CAACyB,OAAO,CAACZ,eAAe,CAACV,GAAG,CAAC,EAAEV,cAAc,CAAC+B,YAAY,GAAGD,WAAW,CAAC,CAAC;MAC1F,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFnB,GAAG,CAACkB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMI,cAAc,GAAGR,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE9CnB,gBAAgB,CAACwB,OAAO,CAACvB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAEX,cAAc,CAACiC,cAAc,GAAGT,aAAa,CAAC,CAAC;IAC/F,CAAC,CAAC;IAEFD,IAAI,CAAC,CAAC;EACR,CAAC;AACH"}
1
+ {"version":3,"file":"express-metrics-middleware.js","names":["getHandlerMetrics","KnownToken","PAGE_HANDLER_EVENT_TYPE","toMilliseconds","provideExpressMetricsMiddleware","resolve","config","Config","base","requestCount","renderDuration","responseDuration","getLabels","req","res","version","appVersion","route","baseUrl","path","code","statusCode","method","getRenderLabels","request","url","next","responseStart","process","hrtime","bigint","inc","once","renderStart","renderFinish","observe","responseFinish"],"sources":["../../../../../src/preset/node/providers/express-metrics-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { LABEL_NAMES, getHandlerMetrics } from '../utils/get-handler-metrics';\nimport { KnownToken } from '../../../tokens';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server';\nimport { toMilliseconds } from '../../../utils';\n\n/**\n * Провайдер промежуточного слоя сбора метрик входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressMetricsMiddleware(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const { requestCount, renderDuration, responseDuration } = getHandlerMetrics();\n\n /**\n * Функция формирования labels.\n * @param req Request.\n * @param res Response.\n * @return Labels.\n */\n const getLabels = (\n req: express.Request,\n res: express.Response,\n ): Record<(typeof LABEL_NAMES.httpResponse)[number], string | number> => ({\n version: config.appVersion,\n route: req.baseUrl + req.path,\n code: res.statusCode,\n method: req.method,\n });\n\n /** @inheritdoc */\n const getRenderLabels = (request: express.Request) =>\n ({\n version: config.appVersion,\n method: request.method,\n route: request.url,\n }) satisfies Record<(typeof LABEL_NAMES.pageRender)[number], string | number>;\n\n return (req, res, next) => {\n const responseStart = process.hrtime.bigint();\n\n requestCount.inc(getLabels(req, res), 1);\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {\n const renderStart = process.hrtime.bigint();\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {\n const renderFinish = process.hrtime.bigint();\n\n renderDuration.observe(getRenderLabels(req), toMilliseconds(renderFinish - renderStart));\n });\n });\n\n res.once('finish', () => {\n const responseFinish = process.hrtime.bigint();\n\n responseDuration.observe(getLabels(req, res), toMilliseconds(responseFinish - responseStart));\n });\n\n next();\n };\n}\n"],"mappings":"AAEA,SAAsBA,iBAAiB,QAAQ,iCAA8B;AAC7E,SAASC,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,uBAAuB,QAAQ,yBAAc;AACtD,SAASC,cAAc,QAAQ,2BAAgB;;AAE/C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA,CAACC,OAAgB,EAAmB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACJ,UAAU,CAACM,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAGX,iBAAiB,CAAC,CAAC;;EAE9E;AACF;AACA;AACA;AACA;AACA;EACE,MAAMY,SAAS,GAAGA,CAChBC,GAAoB,EACpBC,GAAqB,MACmD;IACxEC,OAAO,EAAET,MAAM,CAACU,UAAU;IAC1BC,KAAK,EAAEJ,GAAG,CAACK,OAAO,GAAGL,GAAG,CAACM,IAAI;IAC7BC,IAAI,EAAEN,GAAG,CAACO,UAAU;IACpBC,MAAM,EAAET,GAAG,CAACS;EACd,CAAC,CAAC;;EAEF;EACA,MAAMC,eAAe,GAAIC,OAAwB,KAC9C;IACCT,OAAO,EAAET,MAAM,CAACU,UAAU;IAC1BM,MAAM,EAAEE,OAAO,CAACF,MAAM;IACtBL,KAAK,EAAEO,OAAO,CAACC;EACjB,CAAC,CAA4E;EAE/E,OAAO,CAACZ,GAAG,EAAEC,GAAG,EAAEY,IAAI,KAAK;IACzB,MAAMC,aAAa,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAE7CrB,YAAY,CAACsB,GAAG,CAACnB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExCA,GAAG,CAACkB,IAAI,CAAC9B,uBAAuB,CAAC+B,WAAW,EAAE,MAAM;MAClD,MAAMA,WAAW,GAAGL,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE3ChB,GAAG,CAACkB,IAAI,CAAC9B,uBAAuB,CAACgC,YAAY,EAAE,MAAM;QACnD,MAAMA,YAAY,GAAGN,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;QAE5CpB,cAAc,CAACyB,OAAO,CAACZ,eAAe,CAACV,GAAG,CAAC,EAAEV,cAAc,CAAC+B,YAAY,GAAGD,WAAW,CAAC,CAAC;MAC1F,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFnB,GAAG,CAACkB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMI,cAAc,GAAGR,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE9CnB,gBAAgB,CAACwB,OAAO,CAACvB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAEX,cAAc,CAACiC,cAAc,GAAGT,aAAa,CAAC,CAAC;IAC/F,CAAC,CAAC;IAEFD,IAAI,CAAC,CAAC;EACR,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"express-request-middleware.js","names":["withIsolationScope","provideExpressRequestMiddleware","req","res","next"],"sources":["../../../../../src/preset/node/providers/express-request-middleware.ts"],"sourcesContent":["import { withIsolationScope } from '@sentry/node';\nimport type express from 'express';\n\n/**\n * Провайдер промежуточного слоя учета входящих http-запросов.\n * @return Промежуточный слой.\n */\nexport function provideExpressRequestMiddleware(): express.Handler {\n // https://github.com/getsentry/sentry-javascript/discussions/9618#discussioncomment-9950984\n return (req, res, next) => {\n withIsolationScope(() => {\n next();\n });\n };\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,cAAc;AAGjD;AACA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA,CAAA,EAAoB;EACjE;EACA,OAAO,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IACzBJ,kBAAkB,CAAC,MAAM;MACvBI,IAAI,CAAC,CAAC;IACR,CAAC,CAAC;EACJ,CAAC;AACH"}
1
+ {"version":3,"file":"express-request-middleware.js","names":["withIsolationScope","provideExpressRequestMiddleware","req","res","next"],"sources":["../../../../../src/preset/node/providers/express-request-middleware.ts"],"sourcesContent":["import { withIsolationScope } from '@sentry/node';\nimport type express from 'express';\n\n/**\n * Провайдер промежуточного слоя учета входящих http-запросов.\n * @return Промежуточный слой.\n */\nexport function provideExpressRequestMiddleware(): express.Handler {\n // https://github.com/getsentry/sentry-javascript/discussions/9618#discussioncomment-9950984\n return (req, res, next) => {\n withIsolationScope(() => {\n next();\n });\n };\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,cAAc;AAGjD;AACA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA,CAAA,EAAoB;EACjE;EACA,OAAO,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IACzBJ,kBAAkB,CAAC,MAAM;MACvBI,IAAI,CAAC,CAAC;IACR,CAAC,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"express-tracing-middleware.js","names":["KnownToken","ROOT_CONTEXT","propagation","trace","PAGE_HANDLER_EVENT_TYPE","ATTR_ERROR_TYPE","ATTR_HTTP_REQUEST_HEADER","ATTR_HTTP_RESPONSE_BODY_SIZE","ATTR_HTTP_RESPONSE_STATUS_CODE","ATTR_URL_PATH","provideExpressTracingMiddleware","resolve","tracer","Tracing","getConventionalRequestAttrs","req","result","originalUrl","headerName","headers","toLowerCase","startsWith","header","res","next","externalContext","extract","rootSpan","startSpan","method","path","undefined","setAttributes","rootContext","setSpan","locals","tracing","renderSpan","once","renderStart","renderFinish","end","contentLength","getHeader","String","statusCode"],"sources":["../../../../../src/preset/node/providers/express-tracing-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Attributes, ROOT_CONTEXT, propagation, trace } from '@opentelemetry/api';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server';\nimport {\n ATTR_ERROR_TYPE,\n ATTR_HTTP_REQUEST_HEADER,\n ATTR_HTTP_RESPONSE_BODY_SIZE,\n ATTR_HTTP_RESPONSE_STATUS_CODE,\n ATTR_URL_PATH,\n} from '@opentelemetry/semantic-conventions/incubating';\n\n/**\n * Провайдер промежуточного слоя трассировки входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressTracingMiddleware(resolve: Resolve): express.Handler {\n const tracer = resolve(KnownToken.Tracing.tracer);\n\n /**\n * Возвращает набор стандартных атрибутов для спана.\n * @param req Входящий http-запрос.\n * @return Атрибуты.\n */\n const getConventionalRequestAttrs = (req: express.Request): Attributes => {\n const result: Attributes = {\n [ATTR_URL_PATH]: req.originalUrl,\n };\n\n for (const headerName in req.headers) {\n if (headerName.toLowerCase().startsWith('simaland-')) {\n result[`${ATTR_HTTP_REQUEST_HEADER(headerName)}`] = req.header(headerName);\n }\n }\n\n return result;\n };\n\n return (req, res, next) => {\n const externalContext = propagation.extract(ROOT_CONTEXT, req.headers);\n const rootSpan = tracer.startSpan(`${req.method} ${req.path}`, undefined, externalContext);\n\n rootSpan.setAttributes(getConventionalRequestAttrs(req));\n\n const rootContext = trace.setSpan(externalContext, rootSpan);\n\n res.locals.tracing = {\n rootSpan,\n rootContext,\n renderSpan: null,\n };\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {\n res.locals.tracing.renderSpan = tracer.startSpan(\n 'react:renderToString',\n undefined,\n rootContext,\n );\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {\n res.locals.tracing.renderSpan.end();\n });\n });\n\n res.once('finish', () => {\n const contentLength = res.getHeader('content-length') as string;\n rootSpan.setAttributes({\n [ATTR_HTTP_RESPONSE_STATUS_CODE]: String(res.statusCode),\n ...(res.statusCode > 400 && { [ATTR_ERROR_TYPE]: String(res.statusCode) }),\n ...(contentLength && { [ATTR_HTTP_RESPONSE_BODY_SIZE]: contentLength }),\n });\n rootSpan.end();\n });\n\n next();\n };\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAAqBC,YAAY,EAAEC,WAAW,EAAEC,KAAK,QAAQ,oBAAoB;AACjF,SAASC,uBAAuB,QAAQ,yBAAc;AACtD,SACEC,eAAe,EACfC,wBAAwB,EACxBC,4BAA4B,EAC5BC,8BAA8B,EAC9BC,aAAa,QACR,gDAAgD;;AAEvD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA,CAACC,OAAgB,EAAmB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACX,UAAU,CAACa,OAAO,CAACD,MAAM,CAAC;;EAEjD;AACF;AACA;AACA;AACA;EACE,MAAME,2BAA2B,GAAIC,GAAoB,IAAiB;IACxE,MAAMC,MAAkB,GAAG;MACzB,CAACP,aAAa,GAAGM,GAAG,CAACE;IACvB,CAAC;IAED,KAAK,MAAMC,UAAU,IAAIH,GAAG,CAACI,OAAO,EAAE;MACpC,IAAID,UAAU,CAACE,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,WAAW,CAAC,EAAE;QACpDL,MAAM,CAAE,GAAEV,wBAAwB,CAACY,UAAU,CAAE,EAAC,CAAC,GAAGH,GAAG,CAACO,MAAM,CAACJ,UAAU,CAAC;MAC5E;IACF;IAEA,OAAOF,MAAM;EACf,CAAC;EAED,OAAO,CAACD,GAAG,EAAEQ,GAAG,EAAEC,IAAI,KAAK;IACzB,MAAMC,eAAe,GAAGvB,WAAW,CAACwB,OAAO,CAACzB,YAAY,EAAEc,GAAG,CAACI,OAAO,CAAC;IACtE,MAAMQ,QAAQ,GAAGf,MAAM,CAACgB,SAAS,CAAE,GAAEb,GAAG,CAACc,MAAO,IAAGd,GAAG,CAACe,IAAK,EAAC,EAAEC,SAAS,EAAEN,eAAe,CAAC;IAE1FE,QAAQ,CAACK,aAAa,CAAClB,2BAA2B,CAACC,GAAG,CAAC,CAAC;IAExD,MAAMkB,WAAW,GAAG9B,KAAK,CAAC+B,OAAO,CAACT,eAAe,EAAEE,QAAQ,CAAC;IAE5DJ,GAAG,CAACY,MAAM,CAACC,OAAO,GAAG;MACnBT,QAAQ;MACRM,WAAW;MACXI,UAAU,EAAE;IACd,CAAC;IAEDd,GAAG,CAACe,IAAI,CAAClC,uBAAuB,CAACmC,WAAW,EAAE,MAAM;MAClDhB,GAAG,CAACY,MAAM,CAACC,OAAO,CAACC,UAAU,GAAGzB,MAAM,CAACgB,SAAS,CAC9C,sBAAsB,EACtBG,SAAS,EACTE,WACF,CAAC;MAEDV,GAAG,CAACe,IAAI,CAAClC,uBAAuB,CAACoC,YAAY,EAAE,MAAM;QACnDjB,GAAG,CAACY,MAAM,CAACC,OAAO,CAACC,UAAU,CAACI,GAAG,CAAC,CAAC;MACrC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFlB,GAAG,CAACe,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMI,aAAa,GAAGnB,GAAG,CAACoB,SAAS,CAAC,gBAAgB,CAAW;MAC/DhB,QAAQ,CAACK,aAAa,CAAC;QACrB,CAACxB,8BAA8B,GAAGoC,MAAM,CAACrB,GAAG,CAACsB,UAAU,CAAC;QACxD,IAAItB,GAAG,CAACsB,UAAU,GAAG,GAAG,IAAI;UAAE,CAACxC,eAAe,GAAGuC,MAAM,CAACrB,GAAG,CAACsB,UAAU;QAAE,CAAC,CAAC;QAC1E,IAAIH,aAAa,IAAI;UAAE,CAACnC,4BAA4B,GAAGmC;QAAc,CAAC;MACxE,CAAC,CAAC;MACFf,QAAQ,CAACc,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC;IAEFjB,IAAI,CAAC,CAAC;EACR,CAAC;AACH"}
1
+ {"version":3,"file":"express-tracing-middleware.js","names":["KnownToken","ROOT_CONTEXT","propagation","trace","PAGE_HANDLER_EVENT_TYPE","ATTR_ERROR_TYPE","ATTR_HTTP_REQUEST_HEADER","ATTR_HTTP_RESPONSE_BODY_SIZE","ATTR_HTTP_RESPONSE_STATUS_CODE","ATTR_URL_PATH","provideExpressTracingMiddleware","resolve","tracer","Tracing","getConventionalRequestAttrs","req","result","originalUrl","headerName","headers","toLowerCase","startsWith","header","res","next","externalContext","extract","rootSpan","startSpan","method","path","undefined","setAttributes","rootContext","setSpan","locals","tracing","renderSpan","once","renderStart","renderFinish","end","contentLength","getHeader","String","statusCode"],"sources":["../../../../../src/preset/node/providers/express-tracing-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Attributes, ROOT_CONTEXT, propagation, trace } from '@opentelemetry/api';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server';\nimport {\n ATTR_ERROR_TYPE,\n ATTR_HTTP_REQUEST_HEADER,\n ATTR_HTTP_RESPONSE_BODY_SIZE,\n ATTR_HTTP_RESPONSE_STATUS_CODE,\n ATTR_URL_PATH,\n} from '@opentelemetry/semantic-conventions/incubating';\n\n/**\n * Провайдер промежуточного слоя трассировки входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressTracingMiddleware(resolve: Resolve): express.Handler {\n const tracer = resolve(KnownToken.Tracing.tracer);\n\n /**\n * Возвращает набор стандартных атрибутов для спана.\n * @param req Входящий http-запрос.\n * @return Атрибуты.\n */\n const getConventionalRequestAttrs = (req: express.Request): Attributes => {\n const result: Attributes = {\n [ATTR_URL_PATH]: req.originalUrl,\n };\n\n for (const headerName in req.headers) {\n if (headerName.toLowerCase().startsWith('simaland-')) {\n result[`${ATTR_HTTP_REQUEST_HEADER(headerName)}`] = req.header(headerName);\n }\n }\n\n return result;\n };\n\n return (req, res, next) => {\n const externalContext = propagation.extract(ROOT_CONTEXT, req.headers);\n const rootSpan = tracer.startSpan(`${req.method} ${req.path}`, undefined, externalContext);\n\n rootSpan.setAttributes(getConventionalRequestAttrs(req));\n\n const rootContext = trace.setSpan(externalContext, rootSpan);\n\n res.locals.tracing = {\n rootSpan,\n rootContext,\n renderSpan: null,\n };\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {\n res.locals.tracing.renderSpan = tracer.startSpan(\n 'react:renderToString',\n undefined,\n rootContext,\n );\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {\n res.locals.tracing.renderSpan.end();\n });\n });\n\n res.once('finish', () => {\n const contentLength = res.getHeader('content-length') as string;\n rootSpan.setAttributes({\n [ATTR_HTTP_RESPONSE_STATUS_CODE]: String(res.statusCode),\n ...(res.statusCode > 400 && { [ATTR_ERROR_TYPE]: String(res.statusCode) }),\n ...(contentLength && { [ATTR_HTTP_RESPONSE_BODY_SIZE]: contentLength }),\n });\n rootSpan.end();\n });\n\n next();\n };\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAAqBC,YAAY,EAAEC,WAAW,EAAEC,KAAK,QAAQ,oBAAoB;AACjF,SAASC,uBAAuB,QAAQ,yBAAc;AACtD,SACEC,eAAe,EACfC,wBAAwB,EACxBC,4BAA4B,EAC5BC,8BAA8B,EAC9BC,aAAa,QACR,gDAAgD;;AAEvD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA,CAACC,OAAgB,EAAmB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACX,UAAU,CAACa,OAAO,CAACD,MAAM,CAAC;;EAEjD;AACF;AACA;AACA;AACA;EACE,MAAME,2BAA2B,GAAIC,GAAoB,IAAiB;IACxE,MAAMC,MAAkB,GAAG;MACzB,CAACP,aAAa,GAAGM,GAAG,CAACE;IACvB,CAAC;IAED,KAAK,MAAMC,UAAU,IAAIH,GAAG,CAACI,OAAO,EAAE;MACpC,IAAID,UAAU,CAACE,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,WAAW,CAAC,EAAE;QACpDL,MAAM,CAAC,GAAGV,wBAAwB,CAACY,UAAU,CAAC,EAAE,CAAC,GAAGH,GAAG,CAACO,MAAM,CAACJ,UAAU,CAAC;MAC5E;IACF;IAEA,OAAOF,MAAM;EACf,CAAC;EAED,OAAO,CAACD,GAAG,EAAEQ,GAAG,EAAEC,IAAI,KAAK;IACzB,MAAMC,eAAe,GAAGvB,WAAW,CAACwB,OAAO,CAACzB,YAAY,EAAEc,GAAG,CAACI,OAAO,CAAC;IACtE,MAAMQ,QAAQ,GAAGf,MAAM,CAACgB,SAAS,CAAC,GAAGb,GAAG,CAACc,MAAM,IAAId,GAAG,CAACe,IAAI,EAAE,EAAEC,SAAS,EAAEN,eAAe,CAAC;IAE1FE,QAAQ,CAACK,aAAa,CAAClB,2BAA2B,CAACC,GAAG,CAAC,CAAC;IAExD,MAAMkB,WAAW,GAAG9B,KAAK,CAAC+B,OAAO,CAACT,eAAe,EAAEE,QAAQ,CAAC;IAE5DJ,GAAG,CAACY,MAAM,CAACC,OAAO,GAAG;MACnBT,QAAQ;MACRM,WAAW;MACXI,UAAU,EAAE;IACd,CAAC;IAEDd,GAAG,CAACe,IAAI,CAAClC,uBAAuB,CAACmC,WAAW,EAAE,MAAM;MAClDhB,GAAG,CAACY,MAAM,CAACC,OAAO,CAACC,UAAU,GAAGzB,MAAM,CAACgB,SAAS,CAC9C,sBAAsB,EACtBG,SAAS,EACTE,WACF,CAAC;MAEDV,GAAG,CAACe,IAAI,CAAClC,uBAAuB,CAACoC,YAAY,EAAE,MAAM;QACnDjB,GAAG,CAACY,MAAM,CAACC,OAAO,CAACC,UAAU,CAACI,GAAG,CAAC,CAAC;MACrC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFlB,GAAG,CAACe,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMI,aAAa,GAAGnB,GAAG,CAACoB,SAAS,CAAC,gBAAgB,CAAW;MAC/DhB,QAAQ,CAACK,aAAa,CAAC;QACrB,CAACxB,8BAA8B,GAAGoC,MAAM,CAACrB,GAAG,CAACsB,UAAU,CAAC;QACxD,IAAItB,GAAG,CAACsB,UAAU,GAAG,GAAG,IAAI;UAAE,CAACxC,eAAe,GAAGuC,MAAM,CAACrB,GAAG,CAACsB,UAAU;QAAE,CAAC,CAAC;QAC1E,IAAIH,aAAa,IAAI;UAAE,CAACnC,4BAA4B,GAAGmC;QAAc,CAAC;MACxE,CAAC,CAAC;MACFf,QAAQ,CAACc,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC;IAEFjB,IAAI,CAAC,CAAC;EACR,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"log-handler-pino.js","names":["pino","PinoPretty","createPinoHandler","KnownToken","provideLogHandlerPino","resolve","config","Config","base","pinoLogger","env","formatters","level","label","colorize","translateTime"],"sources":["../../../../../src/preset/node/providers/log-handler-pino.ts"],"sourcesContent":["import pino from 'pino';\nimport PinoPretty from 'pino-pretty';\nimport { Resolve } from '../../../di';\nimport { LogHandler } from '../../../log';\nimport { createPinoHandler } from '../../../log/handler/pino';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер обработчика логирования для Pino.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик.\n */\nexport function provideLogHandlerPino(resolve: Resolve): LogHandler {\n const config = resolve(KnownToken.Config.base);\n\n const pinoLogger = pino(\n config.env === 'production'\n ? {\n formatters: {\n // ВАЖНО: для Fluent необходимо наличие поля level: string\n level: label => ({ level: label }),\n },\n }\n : PinoPretty({\n colorize: true,\n translateTime: 'yyyy-mm-dd HH:MM:ss.l o',\n }),\n );\n\n return createPinoHandler(pinoLogger);\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,OAAOC,UAAU,MAAM,aAAa;AAGpC,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACC,OAAgB,EAAc;EAClE,MAAMC,MAAM,GAAGD,OAAO,CAACF,UAAU,CAACI,MAAM,CAACC,IAAI,CAAC;EAE9C,MAAMC,UAAU,GAAGT,IAAI,CACrBM,MAAM,CAACI,GAAG,KAAK,YAAY,GACvB;IACEC,UAAU,EAAE;MACV;MACAC,KAAK,EAAEC,KAAK,KAAK;QAAED,KAAK,EAAEC;MAAM,CAAC;IACnC;EACF,CAAC,GACDZ,UAAU,CAAC;IACTa,QAAQ,EAAE,IAAI;IACdC,aAAa,EAAE;EACjB,CAAC,CACP,CAAC;EAED,OAAOb,iBAAiB,CAACO,UAAU,CAAC;AACtC"}
1
+ {"version":3,"file":"log-handler-pino.js","names":["pino","PinoPretty","createPinoHandler","KnownToken","provideLogHandlerPino","resolve","config","Config","base","pinoLogger","env","formatters","level","label","colorize","translateTime"],"sources":["../../../../../src/preset/node/providers/log-handler-pino.ts"],"sourcesContent":["import pino from 'pino';\nimport PinoPretty from 'pino-pretty';\nimport { Resolve } from '../../../di';\nimport { LogHandler } from '../../../log';\nimport { createPinoHandler } from '../../../log/handler/pino';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер обработчика логирования для Pino.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик.\n */\nexport function provideLogHandlerPino(resolve: Resolve): LogHandler {\n const config = resolve(KnownToken.Config.base);\n\n const pinoLogger = pino(\n config.env === 'production'\n ? {\n formatters: {\n // ВАЖНО: для Fluent необходимо наличие поля level: string\n level: label => ({ level: label }),\n },\n }\n : PinoPretty({\n colorize: true,\n translateTime: 'yyyy-mm-dd HH:MM:ss.l o',\n }),\n );\n\n return createPinoHandler(pinoLogger);\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,OAAOC,UAAU,MAAM,aAAa;AAGpC,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACC,OAAgB,EAAc;EAClE,MAAMC,MAAM,GAAGD,OAAO,CAACF,UAAU,CAACI,MAAM,CAACC,IAAI,CAAC;EAE9C,MAAMC,UAAU,GAAGT,IAAI,CACrBM,MAAM,CAACI,GAAG,KAAK,YAAY,GACvB;IACEC,UAAU,EAAE;MACV;MACAC,KAAK,EAAEC,KAAK,KAAK;QAAED,KAAK,EAAEC;MAAM,CAAC;IACnC;EACF,CAAC,GACDZ,UAAU,CAAC;IACTa,QAAQ,EAAE,IAAI;IACdC,aAAa,EAAE;EACjB,CAAC,CACP,CAAC;EAED,OAAOb,iBAAiB,CAACO,UAAU,CAAC;AACtC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"log-handler-sentry.js","names":["init","getDefaultIntegrations","getCurrentScope","createSentryHandler","KnownToken","provideLogHandlerSentry","resolve","source","Config","dsn","require","release","environment","tracesSampleRate","Number","get","profilesSampleRate","integrations"],"sources":["../../../../../src/preset/node/providers/log-handler-sentry.ts"],"sourcesContent":["import { init, getDefaultIntegrations, getCurrentScope } from '@sentry/node';\nimport { Resolve } from '../../../di';\nimport { LogHandler } from '../../../log';\nimport { createSentryHandler } from '../../../log/handler/sentry';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер обработчика логирования для Sentry.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик.\n */\nexport function provideLogHandlerSentry(resolve: Resolve): LogHandler {\n const source = resolve(KnownToken.Config.source);\n\n // экспериментально пробуем не использовать вручную созданный клиент\n init({\n dsn: source.require('SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('SENTRY_ENVIRONMENT'),\n tracesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),\n profilesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),\n integrations: [...getDefaultIntegrations({})],\n\n // ВАЖНО: данная опция ломает группировку ошибок, активировать при необэодимости связать компоненты OTEL с Sentry\n // skipOpenTelemetrySetup: true,\n });\n\n // ВАЖНО: передаем функцию чтобы брать текущий scope в момент вызова метода logger'а\n // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам\n return createSentryHandler(getCurrentScope);\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,sBAAsB,EAAEC,eAAe,QAAQ,cAAc;AAG5E,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CAACC,OAAgB,EAAc;EACpE,MAAMC,MAAM,GAAGD,OAAO,CAACF,UAAU,CAACI,MAAM,CAACD,MAAM,CAAC;;EAEhD;EACAP,IAAI,CAAC;IACHS,GAAG,EAAEF,MAAM,CAACG,OAAO,CAAC,YAAY,CAAC;IACjCC,OAAO,EAAEJ,MAAM,CAACG,OAAO,CAAC,gBAAgB,CAAC;IACzCE,WAAW,EAAEL,MAAM,CAACG,OAAO,CAAC,oBAAoB,CAAC;IACjDG,gBAAgB,EAAEC,MAAM,CAACP,MAAM,CAACQ,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACpEC,kBAAkB,EAAEF,MAAM,CAACP,MAAM,CAACQ,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACtEE,YAAY,EAAE,CAAC,GAAGhB,sBAAsB,CAAC,CAAC,CAAC,CAAC;;IAE5C;IACA;EACF,CAAC,CAAC;;EAEF;EACA;EACA,OAAOE,mBAAmB,CAACD,eAAe,CAAC;AAC7C"}
1
+ {"version":3,"file":"log-handler-sentry.js","names":["init","getDefaultIntegrations","getCurrentScope","createSentryHandler","KnownToken","provideLogHandlerSentry","resolve","source","Config","dsn","require","release","environment","tracesSampleRate","Number","get","profilesSampleRate","integrations"],"sources":["../../../../../src/preset/node/providers/log-handler-sentry.ts"],"sourcesContent":["import { init, getDefaultIntegrations, getCurrentScope } from '@sentry/node';\nimport { Resolve } from '../../../di';\nimport { LogHandler } from '../../../log';\nimport { createSentryHandler } from '../../../log/handler/sentry';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер обработчика логирования для Sentry.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик.\n */\nexport function provideLogHandlerSentry(resolve: Resolve): LogHandler {\n const source = resolve(KnownToken.Config.source);\n\n // экспериментально пробуем не использовать вручную созданный клиент\n init({\n dsn: source.require('SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('SENTRY_ENVIRONMENT'),\n tracesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),\n profilesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),\n integrations: [...getDefaultIntegrations({})],\n\n // ВАЖНО: данная опция ломает группировку ошибок, активировать при необэодимости связать компоненты OTEL с Sentry\n // skipOpenTelemetrySetup: true,\n });\n\n // ВАЖНО: передаем функцию чтобы брать текущий scope в момент вызова метода logger'а\n // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам\n return createSentryHandler(getCurrentScope);\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,sBAAsB,EAAEC,eAAe,QAAQ,cAAc;AAG5E,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CAACC,OAAgB,EAAc;EACpE,MAAMC,MAAM,GAAGD,OAAO,CAACF,UAAU,CAACI,MAAM,CAACD,MAAM,CAAC;;EAEhD;EACAP,IAAI,CAAC;IACHS,GAAG,EAAEF,MAAM,CAACG,OAAO,CAAC,YAAY,CAAC;IACjCC,OAAO,EAAEJ,MAAM,CAACG,OAAO,CAAC,gBAAgB,CAAC;IACzCE,WAAW,EAAEL,MAAM,CAACG,OAAO,CAAC,oBAAoB,CAAC;IACjDG,gBAAgB,EAAEC,MAAM,CAACP,MAAM,CAACQ,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACpEC,kBAAkB,EAAEF,MAAM,CAACP,MAAM,CAACQ,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACtEE,YAAY,EAAE,CAAC,GAAGhB,sBAAsB,CAAC,CAAC,CAAC,CAAC;;IAE5C;IACA;EACF,CAAC,CAAC;;EAEF;EACA;EACA,OAAOE,mBAAmB,CAACD,eAAe,CAAC;AAC7C","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["createLogger","provideLogHandlerPino","provideLogHandlerSentry","provideLogger","resolve","logger","subscribe"],"sources":["../../../../../src/preset/node/providers/logger.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { provideLogHandlerPino } from './log-handler-pino';\nimport { provideLogHandlerSentry } from './log-handler-sentry';\n\n/**\n * Провайдер Logger'а.\n * @param resolve Функция для получения зависимости по токену.\n * @return Logger.\n */\nexport function provideLogger(resolve: Resolve): Logger {\n const logger = createLogger();\n\n // @todo возможно надо придумать как не давать вызывать провайдеры внутри провайдеров\n logger.subscribe(provideLogHandlerPino(resolve));\n logger.subscribe(provideLogHandlerSentry(resolve));\n\n return logger;\n}\n"],"mappings":"AACA,SAAiBA,YAAY,QAAQ,yBAAc;AACnD,SAASC,qBAAqB,QAAQ,uBAAoB;AAC1D,SAASC,uBAAuB,QAAQ,yBAAsB;;AAE9D;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGL,YAAY,CAAC,CAAC;;EAE7B;EACAK,MAAM,CAACC,SAAS,CAACL,qBAAqB,CAACG,OAAO,CAAC,CAAC;EAChDC,MAAM,CAACC,SAAS,CAACJ,uBAAuB,CAACE,OAAO,CAAC,CAAC;EAElD,OAAOC,MAAM;AACf"}
1
+ {"version":3,"file":"logger.js","names":["createLogger","provideLogHandlerPino","provideLogHandlerSentry","provideLogger","resolve","logger","subscribe"],"sources":["../../../../../src/preset/node/providers/logger.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { provideLogHandlerPino } from './log-handler-pino';\nimport { provideLogHandlerSentry } from './log-handler-sentry';\n\n/**\n * Провайдер Logger'а.\n * @param resolve Функция для получения зависимости по токену.\n * @return Logger.\n */\nexport function provideLogger(resolve: Resolve): Logger {\n const logger = createLogger();\n\n // @todo возможно надо придумать как не давать вызывать провайдеры внутри провайдеров\n logger.subscribe(provideLogHandlerPino(resolve));\n logger.subscribe(provideLogHandlerSentry(resolve));\n\n return logger;\n}\n"],"mappings":"AACA,SAAiBA,YAAY,QAAQ,yBAAc;AACnD,SAASC,qBAAqB,QAAQ,uBAAoB;AAC1D,SAASC,uBAAuB,QAAQ,yBAAsB;;AAE9D;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGL,YAAY,CAAC,CAAC;;EAE7B;EACAK,MAAM,CAACC,SAAS,CAACL,qBAAqB,CAACG,OAAO,CAAC,CAAC;EAChDC,MAAM,CAACC,SAAS,CAACJ,uBAAuB,CAACE,OAAO,CAAC,CAAC;EAElD,OAAOC,MAAM;AACf","ignoreList":[]}
@@ -36,7 +36,6 @@ export function provideMainExpressApp(resolve) {
36
36
  // он тащит за собой http-proxy-middleware@2 который не поддерживает pathFilter
37
37
  // pathFilter: inputPath => proxyPaths.some(proxyPath => inputPath.startsWith(proxyPath)),
38
38
  });
39
-
40
39
  app.use((req, res, next) => {
41
40
  // ВАЖНО: поскольку не используем pathFilter - фильтруем запросы проверкой
42
41
  if (proxyPaths.some(proxyPath => req.path.startsWith(proxyPath))) {
@@ -1 +1 @@
1
- {"version":3,"file":"main-express-app.js","names":["KnownToken","express","createProxyMiddleware","provideMainExpressApp","resolve","config","Config","base","pageRoutes","Express","serviceRoutes","middleware","endMiddleware","proxyConfig","Http","Serve","Proxy","app","env","proxyConfigs","Array","isArray","target","filter","pathRewrite","Error","proxyPaths","proxyMiddleware","changeOrigin","use","req","res","next","some","proxyPath","path","startsWith","routePath","routeHandler","method"],"sources":["../../../../../src/preset/node/providers/main-express-app.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport express from 'express';\nimport { createProxyMiddleware } from 'http-proxy-middleware';\n\n/**\n * Провайдер основного express-приложения.\n * @param resolve Функция для получения зависимости по токену.\n * @return Основное express-приложение.\n */\nexport function provideMainExpressApp(resolve: Resolve): express.Application {\n const config = resolve(KnownToken.Config.base);\n const pageRoutes = resolve(KnownToken.Express.pageRoutes);\n const serviceRoutes = resolve(KnownToken.Express.serviceRoutes);\n const middleware = resolve(KnownToken.Express.middleware);\n const endMiddleware = resolve(KnownToken.Express.endMiddleware);\n const proxyConfig = resolve(KnownToken.Http.Serve.Proxy.config);\n\n const app = express();\n\n if (config.env === 'development' && proxyConfig) {\n const proxyConfigs = Array.isArray(proxyConfig) ? proxyConfig : [proxyConfig];\n\n for (const { target, filter, pathRewrite } of proxyConfigs) {\n // ВАЖНО: так как не можем предоставить web-интерфейс Request бросаем ошибку\n if (typeof filter === 'function') {\n throw new Error('Currently function is not supported for proxy \"filter\"');\n }\n\n const proxyPaths = Array.isArray(filter) ? filter : [filter];\n\n const proxyMiddleware = createProxyMiddleware({\n target,\n changeOrigin: true,\n pathRewrite,\n\n // ВАЖНО: не используем pathFilter тк если в проекте есть webpack-dev-server,\n // он тащит за собой http-proxy-middleware@2 который не поддерживает pathFilter\n // pathFilter: inputPath => proxyPaths.some(proxyPath => inputPath.startsWith(proxyPath)),\n });\n\n app.use((req, res, next) => {\n // ВАЖНО: поскольку не используем pathFilter - фильтруем запросы проверкой\n if (proxyPaths.some(proxyPath => req.path.startsWith(proxyPath))) {\n proxyMiddleware(req, res, next);\n } else {\n next();\n }\n });\n }\n }\n\n // маршруты страниц\n for (const [routePath, routeHandler] of pageRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app[method](path, middleware, routeHandler, endMiddleware);\n }\n\n // служебные маршруты (к ним не применяются промежуточные слои)\n for (const [routePath, routeHandler] of serviceRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app[method](path, routeHandler);\n }\n\n // @todo также добавить apiRoutes?\n return app;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"main-express-app.js","names":["KnownToken","express","createProxyMiddleware","provideMainExpressApp","resolve","config","Config","base","pageRoutes","Express","serviceRoutes","middleware","endMiddleware","proxyConfig","Http","Serve","Proxy","app","env","proxyConfigs","Array","isArray","target","filter","pathRewrite","Error","proxyPaths","proxyMiddleware","changeOrigin","use","req","res","next","some","proxyPath","path","startsWith","routePath","routeHandler","method"],"sources":["../../../../../src/preset/node/providers/main-express-app.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport express from 'express';\nimport { createProxyMiddleware } from 'http-proxy-middleware';\n\n/**\n * Провайдер основного express-приложения.\n * @param resolve Функция для получения зависимости по токену.\n * @return Основное express-приложение.\n */\nexport function provideMainExpressApp(resolve: Resolve): express.Application {\n const config = resolve(KnownToken.Config.base);\n const pageRoutes = resolve(KnownToken.Express.pageRoutes);\n const serviceRoutes = resolve(KnownToken.Express.serviceRoutes);\n const middleware = resolve(KnownToken.Express.middleware);\n const endMiddleware = resolve(KnownToken.Express.endMiddleware);\n const proxyConfig = resolve(KnownToken.Http.Serve.Proxy.config);\n\n const app = express();\n\n if (config.env === 'development' && proxyConfig) {\n const proxyConfigs = Array.isArray(proxyConfig) ? proxyConfig : [proxyConfig];\n\n for (const { target, filter, pathRewrite } of proxyConfigs) {\n // ВАЖНО: так как не можем предоставить web-интерфейс Request бросаем ошибку\n if (typeof filter === 'function') {\n throw new Error('Currently function is not supported for proxy \"filter\"');\n }\n\n const proxyPaths = Array.isArray(filter) ? filter : [filter];\n\n const proxyMiddleware = createProxyMiddleware({\n target,\n changeOrigin: true,\n pathRewrite,\n\n // ВАЖНО: не используем pathFilter тк если в проекте есть webpack-dev-server,\n // он тащит за собой http-proxy-middleware@2 который не поддерживает pathFilter\n // pathFilter: inputPath => proxyPaths.some(proxyPath => inputPath.startsWith(proxyPath)),\n });\n\n app.use((req, res, next) => {\n // ВАЖНО: поскольку не используем pathFilter - фильтруем запросы проверкой\n if (proxyPaths.some(proxyPath => req.path.startsWith(proxyPath))) {\n proxyMiddleware(req, res, next);\n } else {\n next();\n }\n });\n }\n }\n\n // маршруты страниц\n for (const [routePath, routeHandler] of pageRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app[method](path, middleware, routeHandler, endMiddleware);\n }\n\n // служебные маршруты (к ним не применяются промежуточные слои)\n for (const [routePath, routeHandler] of serviceRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app[method](path, routeHandler);\n }\n\n // @todo также добавить apiRoutes?\n return app;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-express-app.js","names":["PromClient","express","provideMetricsExpressApp","collectDefaultMetrics","app","get","req","res","metrics","register","setHeader","contentType","send"],"sources":["../../../../../src/preset/node/providers/metrics-express-app.ts"],"sourcesContent":["import * as PromClient from 'prom-client';\nimport express from 'express';\n\n/**\n * Провайдер express-приложения метрик.\n * @return Пул известных http-хостов.\n */\nexport function provideMetricsExpressApp(): express.Application {\n PromClient.collectDefaultMetrics();\n\n const app = express();\n\n app.get('/', async function (req, res) {\n const metrics = await PromClient.register.metrics();\n\n res.setHeader('Content-Type', PromClient.register.contentType);\n res.send(metrics);\n });\n\n return app;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,UAAU,MAAM,aAAa;AACzC,OAAOC,OAAO,MAAM,SAAS;;AAE7B;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAAA,EAAwB;EAC9DF,UAAU,CAACG,qBAAqB,CAAC,CAAC;EAElC,MAAMC,GAAG,GAAGH,OAAO,CAAC,CAAC;EAErBG,GAAG,CAACC,GAAG,CAAC,GAAG,EAAE,gBAAgBC,GAAG,EAAEC,GAAG,EAAE;IACrC,MAAMC,OAAO,GAAG,MAAMR,UAAU,CAACS,QAAQ,CAACD,OAAO,CAAC,CAAC;IAEnDD,GAAG,CAACG,SAAS,CAAC,cAAc,EAAEV,UAAU,CAACS,QAAQ,CAACE,WAAW,CAAC;IAC9DJ,GAAG,CAACK,IAAI,CAACJ,OAAO,CAAC;EACnB,CAAC,CAAC;EAEF,OAAOJ,GAAG;AACZ"}
1
+ {"version":3,"file":"metrics-express-app.js","names":["PromClient","express","provideMetricsExpressApp","collectDefaultMetrics","app","get","req","res","metrics","register","setHeader","contentType","send"],"sources":["../../../../../src/preset/node/providers/metrics-express-app.ts"],"sourcesContent":["import * as PromClient from 'prom-client';\nimport express from 'express';\n\n/**\n * Провайдер express-приложения метрик.\n * @return Пул известных http-хостов.\n */\nexport function provideMetricsExpressApp(): express.Application {\n PromClient.collectDefaultMetrics();\n\n const app = express();\n\n app.get('/', async function (req, res) {\n const metrics = await PromClient.register.metrics();\n\n res.setHeader('Content-Type', PromClient.register.contentType);\n res.send(metrics);\n });\n\n return app;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,UAAU,MAAM,aAAa;AACzC,OAAOC,OAAO,MAAM,SAAS;;AAE7B;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAAA,EAAwB;EAC9DF,UAAU,CAACG,qBAAqB,CAAC,CAAC;EAElC,MAAMC,GAAG,GAAGH,OAAO,CAAC,CAAC;EAErBG,GAAG,CAACC,GAAG,CAAC,GAAG,EAAE,gBAAgBC,GAAG,EAAEC,GAAG,EAAE;IACrC,MAAMC,OAAO,GAAG,MAAMR,UAAU,CAACS,QAAQ,CAACD,OAAO,CAAC,CAAC;IAEnDD,GAAG,CAACG,SAAS,CAAC,cAAc,EAAEV,UAAU,CAACS,QAAQ,CAACE,WAAW,CAAC;IAC9DJ,GAAG,CAACK,IAAI,CAACJ,OAAO,CAAC;EACnB,CAAC,CAAC;EAEF,OAAOJ,GAAG;AACZ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"public-envs.js","names":["providePublicEnvs","publicEnvs","IS_REDUX_DEVTOOLS_ENABLED","process","env","key","startsWith"],"sources":["../../../../../src/preset/node/providers/public-envs.ts"],"sourcesContent":["/**\n * Провайдер публичных переменных среды.\n * @return Объект с публичными переменными среды.\n */\nexport function providePublicEnvs() {\n const publicEnvs: Record<string, string | undefined> = {\n IS_REDUX_DEVTOOLS_ENABLED: process.env.IS_REDUX_DEVTOOLS_ENABLED,\n };\n for (const key in process.env) {\n if (key.startsWith('PUBLIC_')) {\n publicEnvs[key] = process.env[key];\n }\n }\n return publicEnvs;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA,OAAO,SAASA,iBAAiBA,CAAA,EAAG;EAClC,MAAMC,UAA8C,GAAG;IACrDC,yBAAyB,EAAEC,OAAO,CAACC,GAAG,CAACF;EACzC,CAAC;EACD,KAAK,MAAMG,GAAG,IAAIF,OAAO,CAACC,GAAG,EAAE;IAC7B,IAAIC,GAAG,CAACC,UAAU,CAAC,SAAS,CAAC,EAAE;MAC7BL,UAAU,CAACI,GAAG,CAAC,GAAGF,OAAO,CAACC,GAAG,CAACC,GAAG,CAAC;IACpC;EACF;EACA,OAAOJ,UAAU;AACnB"}
1
+ {"version":3,"file":"public-envs.js","names":["providePublicEnvs","publicEnvs","IS_REDUX_DEVTOOLS_ENABLED","process","env","key","startsWith"],"sources":["../../../../../src/preset/node/providers/public-envs.ts"],"sourcesContent":["/**\n * Провайдер публичных переменных среды.\n * @return Объект с публичными переменными среды.\n */\nexport function providePublicEnvs() {\n const publicEnvs: Record<string, string | undefined> = {\n IS_REDUX_DEVTOOLS_ENABLED: process.env.IS_REDUX_DEVTOOLS_ENABLED,\n };\n for (const key in process.env) {\n if (key.startsWith('PUBLIC_')) {\n publicEnvs[key] = process.env[key];\n }\n }\n return publicEnvs;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA,OAAO,SAASA,iBAAiBA,CAAA,EAAG;EAClC,MAAMC,UAA8C,GAAG;IACrDC,yBAAyB,EAAEC,OAAO,CAACC,GAAG,CAACF;EACzC,CAAC;EACD,KAAK,MAAMG,GAAG,IAAIF,OAAO,CAACC,GAAG,EAAE;IAC7B,IAAIC,GAAG,CAACC,UAAU,CAAC,SAAS,CAAC,EAAE;MAC7BL,UAAU,CAACI,GAAG,CAAC,GAAGF,OAAO,CAACC,GAAG,CAACC,GAAG,CAAC;IACpC;EACF;EACA,OAAOJ,UAAU;AACnB","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { BatchSpanProcessor, NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
1
+ import { BatchSpanProcessor, NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
2
2
  import { KnownToken } from "../../../tokens.js";
3
3
 
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-tracer-provider.js","names":["BatchSpanProcessor","NodeTracerProvider","KnownToken","provideTracingProvider","resolve","exporter","Tracing","spanExporter","resource","provider","spanProcessors","register"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-provider.ts"],"sourcesContent":["import type { Resolve } from \"../../../di\";\nimport type { BasicTracerProvider } from \"@opentelemetry/sdk-trace-base\";\nimport {\n BatchSpanProcessor,\n NodeTracerProvider,\n} from \"@opentelemetry/sdk-trace-node\";\nimport { KnownToken } from \"../../../tokens\";\n\n/**\n * Провайдер объекта BasicTracerProvider.\n * @param resolve Функция для получения зависимости по токену.\n * @return BasicTracerProvider.\n */\nexport function provideTracingProvider(resolve: Resolve): BasicTracerProvider {\n const exporter = resolve(KnownToken.Tracing.spanExporter);\n const resource = resolve(KnownToken.Tracing.resource);\n const provider = new NodeTracerProvider({\n resource,\n spanProcessors: [new BatchSpanProcessor(exporter)],\n });\n\n provider.register();\n\n return provider;\n}\n"],"mappings":"AAEA,SACEA,kBAAkB,EAClBC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAuB;EAC5E,MAAMC,QAAQ,GAAGD,OAAO,CAACF,UAAU,CAACI,OAAO,CAACC,YAAY,CAAC;EACzD,MAAMC,QAAQ,GAAGJ,OAAO,CAACF,UAAU,CAACI,OAAO,CAACE,QAAQ,CAAC;EACrD,MAAMC,QAAQ,GAAG,IAAIR,kBAAkB,CAAC;IACtCO,QAAQ;IACRE,cAAc,EAAE,CAAC,IAAIV,kBAAkB,CAACK,QAAQ,CAAC;EACnD,CAAC,CAAC;EAEFI,QAAQ,CAACE,QAAQ,CAAC,CAAC;EAEnB,OAAOF,QAAQ;AACjB"}
1
+ {"version":3,"file":"telemetry-tracer-provider.js","names":["BatchSpanProcessor","NodeTracerProvider","KnownToken","provideTracingProvider","resolve","exporter","Tracing","spanExporter","resource","provider","spanProcessors","register"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-provider.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport type { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';\nimport { BatchSpanProcessor, NodeTracerProvider } from '@opentelemetry/sdk-trace-node';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта BasicTracerProvider.\n * @param resolve Функция для получения зависимости по токену.\n * @return BasicTracerProvider.\n */\nexport function provideTracingProvider(resolve: Resolve): BasicTracerProvider {\n const exporter = resolve(KnownToken.Tracing.spanExporter);\n const resource = resolve(KnownToken.Tracing.resource);\n const provider = new NodeTracerProvider({\n resource,\n spanProcessors: [new BatchSpanProcessor(exporter)],\n });\n\n provider.register();\n\n return provider;\n}\n"],"mappings":"AAEA,SAASA,kBAAkB,EAAEC,kBAAkB,QAAQ,+BAA+B;AACtF,SAASC,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAuB;EAC5E,MAAMC,QAAQ,GAAGD,OAAO,CAACF,UAAU,CAACI,OAAO,CAACC,YAAY,CAAC;EACzD,MAAMC,QAAQ,GAAGJ,OAAO,CAACF,UAAU,CAACI,OAAO,CAACE,QAAQ,CAAC;EACrD,MAAMC,QAAQ,GAAG,IAAIR,kBAAkB,CAAC;IACtCO,QAAQ;IACRE,cAAc,EAAE,CAAC,IAAIV,kBAAkB,CAACK,QAAQ,CAAC;EACnD,CAAC,CAAC;EAEFI,QAAQ,CAACE,QAAQ,CAAC,CAAC;EAEnB,OAAOF,QAAQ;AACjB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-tracer-resource.js","names":["resourceFromAttributes","detectResources","defaultResource","envDetector","hostDetector","osDetector","processDetector","SemanticArgs","KnownToken","provideTracingResource","resolve","config","Config","base","resource","merge","ATTR_SERVICE_NAME","appName","ATTR_SERVICE_VERSION","appVersion","ATTR_DEPLOYMENT_ENVIRONMENT_NAME","env","detectors"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-resource.ts"],"sourcesContent":["import {\n resourceFromAttributes,\n detectResources,\n defaultResource,\n envDetector,\n hostDetector,\n osDetector,\n processDetector,\n Resource,\n} from '@opentelemetry/resources';\nimport * as SemanticArgs from '@opentelemetry/semantic-conventions/incubating';\nimport { KnownToken } from '../../../tokens';\n\nimport type { Resolve } from '../../../di';\n\n/**\n * Провайдер объекта Resource.\n * @param resolve Функция для получения зависимости по токену.\n * @return Resource.\n */\nexport function provideTracingResource(resolve: Resolve): Resource {\n const config = resolve(KnownToken.Config.base);\n\n const resource = defaultResource()\n .merge(\n resourceFromAttributes({\n [SemanticArgs.ATTR_SERVICE_NAME]: config.appName,\n [SemanticArgs.ATTR_SERVICE_VERSION]: config.appVersion,\n [SemanticArgs.ATTR_DEPLOYMENT_ENVIRONMENT_NAME]: config.env,\n }),\n )\n .merge(\n detectResources({\n detectors: [osDetector, envDetector, hostDetector, processDetector],\n }),\n );\n\n return resource;\n}\n"],"mappings":"AAAA,SACEA,sBAAsB,EACtBC,eAAe,EACfC,eAAe,EACfC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,eAAe,QAEV,0BAA0B;AACjC,OAAO,KAAKC,YAAY,MAAM,gDAAgD;AAC9E,SAASC,UAAU,QAAQ,oBAAiB;AAI5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAY;EACjE,MAAMC,MAAM,GAAGD,OAAO,CAACF,UAAU,CAACI,MAAM,CAACC,IAAI,CAAC;EAE9C,MAAMC,QAAQ,GAAGZ,eAAe,CAAC,CAAC,CAC/Ba,KAAK,CACJf,sBAAsB,CAAC;IACrB,CAACO,YAAY,CAACS,iBAAiB,GAAGL,MAAM,CAACM,OAAO;IAChD,CAACV,YAAY,CAACW,oBAAoB,GAAGP,MAAM,CAACQ,UAAU;IACtD,CAACZ,YAAY,CAACa,gCAAgC,GAAGT,MAAM,CAACU;EAC1D,CAAC,CACH,CAAC,CACAN,KAAK,CACJd,eAAe,CAAC;IACdqB,SAAS,EAAE,CAACjB,UAAU,EAAEF,WAAW,EAAEC,YAAY,EAAEE,eAAe;EACpE,CAAC,CACH,CAAC;EAEH,OAAOQ,QAAQ;AACjB"}
1
+ {"version":3,"file":"telemetry-tracer-resource.js","names":["resourceFromAttributes","detectResources","defaultResource","envDetector","hostDetector","osDetector","processDetector","SemanticArgs","KnownToken","provideTracingResource","resolve","config","Config","base","resource","merge","ATTR_SERVICE_NAME","appName","ATTR_SERVICE_VERSION","appVersion","ATTR_DEPLOYMENT_ENVIRONMENT_NAME","env","detectors"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-resource.ts"],"sourcesContent":["import {\n resourceFromAttributes,\n detectResources,\n defaultResource,\n envDetector,\n hostDetector,\n osDetector,\n processDetector,\n Resource,\n} from '@opentelemetry/resources';\nimport * as SemanticArgs from '@opentelemetry/semantic-conventions/incubating';\nimport { KnownToken } from '../../../tokens';\n\nimport type { Resolve } from '../../../di';\n\n/**\n * Провайдер объекта Resource.\n * @param resolve Функция для получения зависимости по токену.\n * @return Resource.\n */\nexport function provideTracingResource(resolve: Resolve): Resource {\n const config = resolve(KnownToken.Config.base);\n\n const resource = defaultResource()\n .merge(\n resourceFromAttributes({\n [SemanticArgs.ATTR_SERVICE_NAME]: config.appName,\n [SemanticArgs.ATTR_SERVICE_VERSION]: config.appVersion,\n [SemanticArgs.ATTR_DEPLOYMENT_ENVIRONMENT_NAME]: config.env,\n }),\n )\n .merge(\n detectResources({\n detectors: [osDetector, envDetector, hostDetector, processDetector],\n }),\n );\n\n return resource;\n}\n"],"mappings":"AAAA,SACEA,sBAAsB,EACtBC,eAAe,EACfC,eAAe,EACfC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,eAAe,QAEV,0BAA0B;AACjC,OAAO,KAAKC,YAAY,MAAM,gDAAgD;AAC9E,SAASC,UAAU,QAAQ,oBAAiB;AAI5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAY;EACjE,MAAMC,MAAM,GAAGD,OAAO,CAACF,UAAU,CAACI,MAAM,CAACC,IAAI,CAAC;EAE9C,MAAMC,QAAQ,GAAGZ,eAAe,CAAC,CAAC,CAC/Ba,KAAK,CACJf,sBAAsB,CAAC;IACrB,CAACO,YAAY,CAACS,iBAAiB,GAAGL,MAAM,CAACM,OAAO;IAChD,CAACV,YAAY,CAACW,oBAAoB,GAAGP,MAAM,CAACQ,UAAU;IACtD,CAACZ,YAAY,CAACa,gCAAgC,GAAGT,MAAM,CAACU;EAC1D,CAAC,CACH,CAAC,CACAN,KAAK,CACJd,eAAe,CAAC;IACdqB,SAAS,EAAE,CAACjB,UAAU,EAAEF,WAAW,EAAEC,YAAY,EAAEE,eAAe;EACpE,CAAC,CACH,CAAC;EAEH,OAAOQ,QAAQ;AACjB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-tracer-span-exporter.js","names":["OTLPTraceExporter","KnownToken","envPrefix","provideSpanExporter","resolve","source","Config","headers","has","JSON","parse","get","undefined","url","URL","port","toString"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-span-exporter.ts"],"sourcesContent":["import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';\nimport { KnownToken } from '../../../tokens';\n\nimport type { Resolve } from '../../../di';\n\nconst envPrefix = 'OTEL_EXPORTER_OTLP_';\n\n/**\n * Провайдер объекта SpanExporter.\n * @param resolve Функция для получения зависимости по токену.\n * @return SpanExporter.\n */\nexport function provideSpanExporter(resolve: Resolve): OTLPTraceExporter {\n const source = resolve(KnownToken.Config.source);\n const headers = source.has(`${envPrefix}REQUEST_HEADERS`)\n ? JSON.parse(source.get(`${envPrefix}REQUEST_HEADERS`, '{}'))\n : undefined;\n\n const url = new URL(\n source.get(`${envPrefix}ENDPOINT`) ||\n `${source.get(`${envPrefix}PROTOCOL`, 'https')}://${source.get(`${envPrefix}HOSTNAME`, 'localhost')}`,\n );\n url.port = source.get(`${envPrefix}PORT`, '4317');\n\n return new OTLPTraceExporter({\n url: url.toString(),\n ...(headers && { headers }),\n });\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,yCAAyC;AAC3E,SAASC,UAAU,QAAQ,oBAAiB;AAI5C,MAAMC,SAAS,GAAG,qBAAqB;;AAEvC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,OAAgB,EAAqB;EACvE,MAAMC,MAAM,GAAGD,OAAO,CAACH,UAAU,CAACK,MAAM,CAACD,MAAM,CAAC;EAChD,MAAME,OAAO,GAAGF,MAAM,CAACG,GAAG,CAAE,GAAEN,SAAU,iBAAgB,CAAC,GACrDO,IAAI,CAACC,KAAK,CAACL,MAAM,CAACM,GAAG,CAAE,GAAET,SAAU,iBAAgB,EAAE,IAAI,CAAC,CAAC,GAC3DU,SAAS;EAEb,MAAMC,GAAG,GAAG,IAAIC,GAAG,CACjBT,MAAM,CAACM,GAAG,CAAE,GAAET,SAAU,UAAS,CAAC,IAC/B,GAAEG,MAAM,CAACM,GAAG,CAAE,GAAET,SAAU,UAAS,EAAE,OAAO,CAAE,MAAKG,MAAM,CAACM,GAAG,CAAE,GAAET,SAAU,UAAS,EAAE,WAAW,CAAE,EACxG,CAAC;EACDW,GAAG,CAACE,IAAI,GAAGV,MAAM,CAACM,GAAG,CAAE,GAAET,SAAU,MAAK,EAAE,MAAM,CAAC;EAEjD,OAAO,IAAIF,iBAAiB,CAAC;IAC3Ba,GAAG,EAAEA,GAAG,CAACG,QAAQ,CAAC,CAAC;IACnB,IAAIT,OAAO,IAAI;MAAEA;IAAQ,CAAC;EAC5B,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"telemetry-tracer-span-exporter.js","names":["OTLPTraceExporter","KnownToken","envPrefix","provideSpanExporter","resolve","source","Config","headers","has","JSON","parse","get","undefined","url","URL","port","toString"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer-span-exporter.ts"],"sourcesContent":["import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';\nimport { KnownToken } from '../../../tokens';\n\nimport type { Resolve } from '../../../di';\n\nconst envPrefix = 'OTEL_EXPORTER_OTLP_';\n\n/**\n * Провайдер объекта SpanExporter.\n * @param resolve Функция для получения зависимости по токену.\n * @return SpanExporter.\n */\nexport function provideSpanExporter(resolve: Resolve): OTLPTraceExporter {\n const source = resolve(KnownToken.Config.source);\n const headers = source.has(`${envPrefix}REQUEST_HEADERS`)\n ? JSON.parse(source.get(`${envPrefix}REQUEST_HEADERS`, '{}'))\n : undefined;\n\n const url = new URL(\n source.get(`${envPrefix}ENDPOINT`) ||\n `${source.get(`${envPrefix}PROTOCOL`, 'https')}://${source.get(`${envPrefix}HOSTNAME`, 'localhost')}`,\n );\n url.port = source.get(`${envPrefix}PORT`, '4317');\n\n return new OTLPTraceExporter({\n url: url.toString(),\n ...(headers && { headers }),\n });\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,yCAAyC;AAC3E,SAASC,UAAU,QAAQ,oBAAiB;AAI5C,MAAMC,SAAS,GAAG,qBAAqB;;AAEvC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,OAAgB,EAAqB;EACvE,MAAMC,MAAM,GAAGD,OAAO,CAACH,UAAU,CAACK,MAAM,CAACD,MAAM,CAAC;EAChD,MAAME,OAAO,GAAGF,MAAM,CAACG,GAAG,CAAC,GAAGN,SAAS,iBAAiB,CAAC,GACrDO,IAAI,CAACC,KAAK,CAACL,MAAM,CAACM,GAAG,CAAC,GAAGT,SAAS,iBAAiB,EAAE,IAAI,CAAC,CAAC,GAC3DU,SAAS;EAEb,MAAMC,GAAG,GAAG,IAAIC,GAAG,CACjBT,MAAM,CAACM,GAAG,CAAC,GAAGT,SAAS,UAAU,CAAC,IAChC,GAAGG,MAAM,CAACM,GAAG,CAAC,GAAGT,SAAS,UAAU,EAAE,OAAO,CAAC,MAAMG,MAAM,CAACM,GAAG,CAAC,GAAGT,SAAS,UAAU,EAAE,WAAW,CAAC,EACvG,CAAC;EACDW,GAAG,CAACE,IAAI,GAAGV,MAAM,CAACM,GAAG,CAAC,GAAGT,SAAS,MAAM,EAAE,MAAM,CAAC;EAEjD,OAAO,IAAIF,iBAAiB,CAAC;IAC3Ba,GAAG,EAAEA,GAAG,CAACG,QAAQ,CAAC,CAAC;IACnB,IAAIT,OAAO,IAAI;MAAEA;IAAQ,CAAC;EAC5B,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-tracer.js","names":["KnownToken","provideTracer","resolve","config","Config","base","provider","Tracing","getTracer","appName","appVersion"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer.ts"],"sourcesContent":["import { Tracer } from '@opentelemetry/api';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта Tracer.\n * @param resolve Функция для получения зависимости по токену.\n * @return Tracer.\n */\nexport function provideTracer(resolve: Resolve): Tracer {\n const config = resolve(KnownToken.Config.base);\n const provider = resolve(KnownToken.Tracing.provider);\n\n return provider.getTracer(config.appName, config.appVersion);\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGD,OAAO,CAACF,UAAU,CAACI,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,QAAQ,GAAGJ,OAAO,CAACF,UAAU,CAACO,OAAO,CAACD,QAAQ,CAAC;EAErD,OAAOA,QAAQ,CAACE,SAAS,CAACL,MAAM,CAACM,OAAO,EAAEN,MAAM,CAACO,UAAU,CAAC;AAC9D"}
1
+ {"version":3,"file":"telemetry-tracer.js","names":["KnownToken","provideTracer","resolve","config","Config","base","provider","Tracing","getTracer","appName","appVersion"],"sources":["../../../../../src/preset/node/providers/telemetry-tracer.ts"],"sourcesContent":["import { Tracer } from '@opentelemetry/api';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта Tracer.\n * @param resolve Функция для получения зависимости по токену.\n * @return Tracer.\n */\nexport function provideTracer(resolve: Resolve): Tracer {\n const config = resolve(KnownToken.Config.base);\n const provider = resolve(KnownToken.Tracing.provider);\n\n return provider.getTracer(config.appName, config.appVersion);\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGD,OAAO,CAACF,UAAU,CAACI,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,QAAQ,GAAGJ,OAAO,CAACF,UAAU,CAACO,OAAO,CAACD,QAAQ,CAAC;EAErD,OAAOA,QAAQ,CAACE,SAAS,CAACL,MAAM,CAACM,OAAO,EAAEN,MAAM,CAACO,UAAU,CAAC;AAC9D","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/node/types.ts"],"sourcesContent":["import type express from 'express';\nimport type { RouteInfo } from '../server/types';\n\n/**\n * Контекст обработчика express.\n */\nexport interface ExpressHandlerContext {\n readonly req: express.Request;\n readonly res: express.Response;\n readonly next: express.NextFunction;\n}\n\nexport type ExpressRouteList = Array<[string | RouteInfo, express.Handler]>;\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/node/types.ts"],"sourcesContent":["import type express from 'express';\nimport type { RouteInfo } from '../server/types';\n\n/**\n * Контекст обработчика express.\n */\nexport interface ExpressHandlerContext {\n readonly req: express.Request;\n readonly res: express.Response;\n readonly next: express.NextFunction;\n}\n\nexport type ExpressRouteList = Array<[string | RouteInfo, express.Handler]>;\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"axios-tracing-middleware.js","names":["SpanStatusCode","ATTR_HTTP_REQUEST_METHOD","ATTR_URL_FULL","displayUrl","getSemanticHeaders","axiosTracingMiddleware","tracer","rootContext","trace","config","next","defaults","method","urlStr","getRequestInfo","url","URL","span","startSpan","undefined","setAttributes","href","headers","common","toLowerCase","error","setStatus","code","ERROR","message","end","toUpperCase","baseURL"],"sources":["../../../../../src/preset/node/utils/axios-tracing-middleware.ts"],"sourcesContent":["import type { AxiosInstance, AxiosRequestConfig, HeadersDefaults } from 'axios';\nimport type { Middleware } from 'middleware-axios';\nimport { Context, Tracer, SpanStatusCode } from '@opentelemetry/api';\nimport {\n ATTR_HTTP_REQUEST_METHOD,\n ATTR_URL_FULL,\n} from '@opentelemetry/semantic-conventions/incubating';\nimport { displayUrl } from '../../isomorphic/utils/display-url';\nimport { getSemanticHeaders } from './telemetry';\n\n/**\n * Возвращает новый middleware для трассировки исходящих запросов.\n * @param tracer Трейсер.\n * @param rootContext Контекст.\n * @return Middleware.\n */\nexport function axiosTracingMiddleware(tracer: Tracer, rootContext: Context): Middleware<any> {\n return async function trace(config, next, defaults) {\n const { method, urlStr } = getRequestInfo(config, defaults);\n const url = new URL(urlStr);\n const span = tracer.startSpan(`axios ${method} ${url}`, undefined, rootContext);\n\n span.setAttributes({\n [ATTR_URL_FULL]: url.href,\n [ATTR_HTTP_REQUEST_METHOD]: method,\n ...getSemanticHeaders({\n // @todo непонятно как доставать заголовки из defaults потому что там на одном уровне заголовки и таблицы заголовков\n ...defaults.headers.common,\n ...defaults.headers[method.toLowerCase() as keyof HeadersDefaults],\n ...config.headers,\n }),\n });\n\n try {\n await next(config);\n } catch (error) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: 'HTTP Request failed',\n });\n\n span.end();\n\n // не прячем ошибку\n throw error;\n }\n\n span.end();\n };\n}\n\n/**\n * Формирует базовые данные запроса.\n * @param config Axios-конфиг запроса.\n * @param defaults Базовый конфиг экземпляра Axios.\n * @return Базовые данные запроса.\n */\nexport function getRequestInfo(\n config: AxiosRequestConfig,\n defaults: AxiosInstance['defaults'],\n): {\n method: string;\n urlStr: string;\n} {\n const method = (config.method || 'GET').toUpperCase();\n const baseURL = config.baseURL || defaults.baseURL || '';\n\n return {\n method,\n urlStr: displayUrl(baseURL, config.url || defaults.url || ''),\n };\n}\n"],"mappings":"AAEA,SAA0BA,cAAc,QAAQ,oBAAoB;AACpE,SACEC,wBAAwB,EACxBC,aAAa,QACR,gDAAgD;AACvD,SAASC,UAAU,QAAQ,uCAAoC;AAC/D,SAASC,kBAAkB,QAAQ,gBAAa;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,MAAc,EAAEC,WAAoB,EAAmB;EAC5F,OAAO,eAAeC,KAAKA,CAACC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAE;IAClD,MAAM;MAAEC,MAAM;MAAEC;IAAO,CAAC,GAAGC,cAAc,CAACL,MAAM,EAAEE,QAAQ,CAAC;IAC3D,MAAMI,GAAG,GAAG,IAAIC,GAAG,CAACH,MAAM,CAAC;IAC3B,MAAMI,IAAI,GAAGX,MAAM,CAACY,SAAS,CAAE,SAAQN,MAAO,IAAGG,GAAI,EAAC,EAAEI,SAAS,EAAEZ,WAAW,CAAC;IAE/EU,IAAI,CAACG,aAAa,CAAC;MACjB,CAAClB,aAAa,GAAGa,GAAG,CAACM,IAAI;MACzB,CAACpB,wBAAwB,GAAGW,MAAM;MAClC,GAAGR,kBAAkB,CAAC;QACpB;QACA,GAAGO,QAAQ,CAACW,OAAO,CAACC,MAAM;QAC1B,GAAGZ,QAAQ,CAACW,OAAO,CAACV,MAAM,CAACY,WAAW,CAAC,CAAC,CAA0B;QAClE,GAAGf,MAAM,CAACa;MACZ,CAAC;IACH,CAAC,CAAC;IAEF,IAAI;MACF,MAAMZ,IAAI,CAACD,MAAM,CAAC;IACpB,CAAC,CAAC,OAAOgB,KAAK,EAAE;MACdR,IAAI,CAACS,SAAS,CAAC;QACbC,IAAI,EAAE3B,cAAc,CAAC4B,KAAK;QAC1BC,OAAO,EAAE;MACX,CAAC,CAAC;MAEFZ,IAAI,CAACa,GAAG,CAAC,CAAC;;MAEV;MACA,MAAML,KAAK;IACb;IAEAR,IAAI,CAACa,GAAG,CAAC,CAAC;EACZ,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAShB,cAAcA,CAC5BL,MAA0B,EAC1BE,QAAmC,EAInC;EACA,MAAMC,MAAM,GAAG,CAACH,MAAM,CAACG,MAAM,IAAI,KAAK,EAAEmB,WAAW,CAAC,CAAC;EACrD,MAAMC,OAAO,GAAGvB,MAAM,CAACuB,OAAO,IAAIrB,QAAQ,CAACqB,OAAO,IAAI,EAAE;EAExD,OAAO;IACLpB,MAAM;IACNC,MAAM,EAAEV,UAAU,CAAC6B,OAAO,EAAEvB,MAAM,CAACM,GAAG,IAAIJ,QAAQ,CAACI,GAAG,IAAI,EAAE;EAC9D,CAAC;AACH"}
1
+ {"version":3,"file":"axios-tracing-middleware.js","names":["SpanStatusCode","ATTR_HTTP_REQUEST_METHOD","ATTR_URL_FULL","displayUrl","getSemanticHeaders","axiosTracingMiddleware","tracer","rootContext","trace","config","next","defaults","method","urlStr","getRequestInfo","url","URL","span","startSpan","undefined","setAttributes","href","headers","common","toLowerCase","error","setStatus","code","ERROR","message","end","toUpperCase","baseURL"],"sources":["../../../../../src/preset/node/utils/axios-tracing-middleware.ts"],"sourcesContent":["import type { AxiosInstance, AxiosRequestConfig, HeadersDefaults } from 'axios';\nimport type { Middleware } from 'middleware-axios';\nimport { Context, Tracer, SpanStatusCode } from '@opentelemetry/api';\nimport {\n ATTR_HTTP_REQUEST_METHOD,\n ATTR_URL_FULL,\n} from '@opentelemetry/semantic-conventions/incubating';\nimport { displayUrl } from '../../isomorphic/utils/display-url';\nimport { getSemanticHeaders } from './telemetry';\n\n/**\n * Возвращает новый middleware для трассировки исходящих запросов.\n * @param tracer Трейсер.\n * @param rootContext Контекст.\n * @return Middleware.\n */\nexport function axiosTracingMiddleware(tracer: Tracer, rootContext: Context): Middleware<any> {\n return async function trace(config, next, defaults) {\n const { method, urlStr } = getRequestInfo(config, defaults);\n const url = new URL(urlStr);\n const span = tracer.startSpan(`axios ${method} ${url}`, undefined, rootContext);\n\n span.setAttributes({\n [ATTR_URL_FULL]: url.href,\n [ATTR_HTTP_REQUEST_METHOD]: method,\n ...getSemanticHeaders({\n // @todo непонятно как доставать заголовки из defaults потому что там на одном уровне заголовки и таблицы заголовков\n ...defaults.headers.common,\n ...defaults.headers[method.toLowerCase() as keyof HeadersDefaults],\n ...config.headers,\n }),\n });\n\n try {\n await next(config);\n } catch (error) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: 'HTTP Request failed',\n });\n\n span.end();\n\n // не прячем ошибку\n throw error;\n }\n\n span.end();\n };\n}\n\n/**\n * Формирует базовые данные запроса.\n * @param config Axios-конфиг запроса.\n * @param defaults Базовый конфиг экземпляра Axios.\n * @return Базовые данные запроса.\n */\nexport function getRequestInfo(\n config: AxiosRequestConfig,\n defaults: AxiosInstance['defaults'],\n): {\n method: string;\n urlStr: string;\n} {\n const method = (config.method || 'GET').toUpperCase();\n const baseURL = config.baseURL || defaults.baseURL || '';\n\n return {\n method,\n urlStr: displayUrl(baseURL, config.url || defaults.url || ''),\n };\n}\n"],"mappings":"AAEA,SAA0BA,cAAc,QAAQ,oBAAoB;AACpE,SACEC,wBAAwB,EACxBC,aAAa,QACR,gDAAgD;AACvD,SAASC,UAAU,QAAQ,uCAAoC;AAC/D,SAASC,kBAAkB,QAAQ,gBAAa;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,MAAc,EAAEC,WAAoB,EAAmB;EAC5F,OAAO,eAAeC,KAAKA,CAACC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAE;IAClD,MAAM;MAAEC,MAAM;MAAEC;IAAO,CAAC,GAAGC,cAAc,CAACL,MAAM,EAAEE,QAAQ,CAAC;IAC3D,MAAMI,GAAG,GAAG,IAAIC,GAAG,CAACH,MAAM,CAAC;IAC3B,MAAMI,IAAI,GAAGX,MAAM,CAACY,SAAS,CAAC,SAASN,MAAM,IAAIG,GAAG,EAAE,EAAEI,SAAS,EAAEZ,WAAW,CAAC;IAE/EU,IAAI,CAACG,aAAa,CAAC;MACjB,CAAClB,aAAa,GAAGa,GAAG,CAACM,IAAI;MACzB,CAACpB,wBAAwB,GAAGW,MAAM;MAClC,GAAGR,kBAAkB,CAAC;QACpB;QACA,GAAGO,QAAQ,CAACW,OAAO,CAACC,MAAM;QAC1B,GAAGZ,QAAQ,CAACW,OAAO,CAACV,MAAM,CAACY,WAAW,CAAC,CAAC,CAA0B;QAClE,GAAGf,MAAM,CAACa;MACZ,CAAC;IACH,CAAC,CAAC;IAEF,IAAI;MACF,MAAMZ,IAAI,CAACD,MAAM,CAAC;IACpB,CAAC,CAAC,OAAOgB,KAAK,EAAE;MACdR,IAAI,CAACS,SAAS,CAAC;QACbC,IAAI,EAAE3B,cAAc,CAAC4B,KAAK;QAC1BC,OAAO,EAAE;MACX,CAAC,CAAC;MAEFZ,IAAI,CAACa,GAAG,CAAC,CAAC;;MAEV;MACA,MAAML,KAAK;IACb;IAEAR,IAAI,CAACa,GAAG,CAAC,CAAC;EACZ,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAShB,cAAcA,CAC5BL,MAA0B,EAC1BE,QAAmC,EAInC;EACA,MAAMC,MAAM,GAAG,CAACH,MAAM,CAACG,MAAM,IAAI,KAAK,EAAEmB,WAAW,CAAC,CAAC;EACrD,MAAMC,OAAO,GAAGvB,MAAM,CAACuB,OAAO,IAAIrB,QAAQ,CAACqB,OAAO,IAAI,EAAE;EAExD,OAAO;IACLpB,MAAM;IACNC,MAAM,EAAEV,UAAU,CAAC6B,OAAO,EAAEvB,MAAM,CAACM,GAAG,IAAIJ,QAAQ,CAACI,GAAG,IAAI,EAAE;EAC9D,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"emitter-as-target.js","names":["EmitterAsTarget","EventTarget","constructor","emitter","addEventListener","type","callback","options","listener","handleEvent","once","on","removeEventListener","removeListener","dispatchEvent","event","emit"],"sources":["../../../../../src/preset/node/utils/emitter-as-target.ts"],"sourcesContent":["import type { EventEmitter } from 'node:events';\n\n/**\n * Наивная реализация обёртки, превращающей EventEmitter в EventTarget.\n */\nexport class EmitterAsTarget extends EventTarget {\n private emitter: EventEmitter;\n\n /** @inheritdoc */\n constructor(emitter: EventEmitter) {\n super();\n this.emitter = emitter;\n }\n\n /** @inheritdoc */\n addEventListener(\n type: string,\n callback: EventListenerOrEventListenerObject | null,\n options?: AddEventListenerOptions | boolean,\n ) {\n if (!callback) {\n return;\n }\n\n const listener = typeof callback === 'function' ? callback : callback.handleEvent;\n\n switch (true) {\n case typeof options === 'object' && options !== null && options.once: {\n this.emitter.once(type, listener as (...args: any[]) => void);\n break;\n }\n default: {\n this.emitter.on(type, listener as (...args: any[]) => void);\n break;\n }\n }\n }\n\n /** @inheritdoc */\n removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null) {\n if (!callback) {\n return;\n }\n\n const listener = typeof callback === 'function' ? callback : callback.handleEvent;\n\n this.emitter.removeListener(type, listener as (...args: any[]) => void);\n }\n\n /** @inheritdoc */\n dispatchEvent(event: Event) {\n return this.emitter.emit(event.type, event);\n }\n}\n"],"mappings":"AAEA;AACA;AACA;AACA,OAAO,MAAMA,eAAe,SAASC,WAAW,CAAC;EAG/C;EACAC,WAAWA,CAACC,OAAqB,EAAE;IACjC,KAAK,CAAC,CAAC;IACP,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;;EAEA;EACAC,gBAAgBA,CACdC,IAAY,EACZC,QAAmD,EACnDC,OAA2C,EAC3C;IACA,IAAI,CAACD,QAAQ,EAAE;MACb;IACF;IAEA,MAAME,QAAQ,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,GAAGA,QAAQ,CAACG,WAAW;IAEjF,QAAQ,IAAI;MACV,KAAK,OAAOF,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,IAAI,IAAIA,OAAO,CAACG,IAAI;QAAE;UACpE,IAAI,CAACP,OAAO,CAACO,IAAI,CAACL,IAAI,EAAEG,QAAoC,CAAC;UAC7D;QACF;MACA;QAAS;UACP,IAAI,CAACL,OAAO,CAACQ,EAAE,CAACN,IAAI,EAAEG,QAAoC,CAAC;UAC3D;QACF;IACF;EACF;;EAEA;EACAI,mBAAmBA,CAACP,IAAY,EAAEC,QAAmD,EAAE;IACrF,IAAI,CAACA,QAAQ,EAAE;MACb;IACF;IAEA,MAAME,QAAQ,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,GAAGA,QAAQ,CAACG,WAAW;IAEjF,IAAI,CAACN,OAAO,CAACU,cAAc,CAACR,IAAI,EAAEG,QAAoC,CAAC;EACzE;;EAEA;EACAM,aAAaA,CAACC,KAAY,EAAE;IAC1B,OAAO,IAAI,CAACZ,OAAO,CAACa,IAAI,CAACD,KAAK,CAACV,IAAI,EAAEU,KAAK,CAAC;EAC7C;AACF"}
1
+ {"version":3,"file":"emitter-as-target.js","names":["EmitterAsTarget","EventTarget","constructor","emitter","addEventListener","type","callback","options","listener","handleEvent","once","on","removeEventListener","removeListener","dispatchEvent","event","emit"],"sources":["../../../../../src/preset/node/utils/emitter-as-target.ts"],"sourcesContent":["import type { EventEmitter } from 'node:events';\n\n/**\n * Наивная реализация обёртки, превращающей EventEmitter в EventTarget.\n */\nexport class EmitterAsTarget extends EventTarget {\n private emitter: EventEmitter;\n\n /** @inheritdoc */\n constructor(emitter: EventEmitter) {\n super();\n this.emitter = emitter;\n }\n\n /** @inheritdoc */\n addEventListener(\n type: string,\n callback: EventListenerOrEventListenerObject | null,\n options?: AddEventListenerOptions | boolean,\n ) {\n if (!callback) {\n return;\n }\n\n const listener = typeof callback === 'function' ? callback : callback.handleEvent;\n\n switch (true) {\n case typeof options === 'object' && options !== null && options.once: {\n this.emitter.once(type, listener as (...args: any[]) => void);\n break;\n }\n default: {\n this.emitter.on(type, listener as (...args: any[]) => void);\n break;\n }\n }\n }\n\n /** @inheritdoc */\n removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null) {\n if (!callback) {\n return;\n }\n\n const listener = typeof callback === 'function' ? callback : callback.handleEvent;\n\n this.emitter.removeListener(type, listener as (...args: any[]) => void);\n }\n\n /** @inheritdoc */\n dispatchEvent(event: Event) {\n return this.emitter.emit(event.type, event);\n }\n}\n"],"mappings":"AAEA;AACA;AACA;AACA,OAAO,MAAMA,eAAe,SAASC,WAAW,CAAC;EAG/C;EACAC,WAAWA,CAACC,OAAqB,EAAE;IACjC,KAAK,CAAC,CAAC;IACP,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;;EAEA;EACAC,gBAAgBA,CACdC,IAAY,EACZC,QAAmD,EACnDC,OAA2C,EAC3C;IACA,IAAI,CAACD,QAAQ,EAAE;MACb;IACF;IAEA,MAAME,QAAQ,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,GAAGA,QAAQ,CAACG,WAAW;IAEjF,QAAQ,IAAI;MACV,KAAK,OAAOF,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,IAAI,IAAIA,OAAO,CAACG,IAAI;QAAE;UACpE,IAAI,CAACP,OAAO,CAACO,IAAI,CAACL,IAAI,EAAEG,QAAoC,CAAC;UAC7D;QACF;MACA;QAAS;UACP,IAAI,CAACL,OAAO,CAACQ,EAAE,CAACN,IAAI,EAAEG,QAAoC,CAAC;UAC3D;QACF;IACF;EACF;;EAEA;EACAI,mBAAmBA,CAACP,IAAY,EAAEC,QAAmD,EAAE;IACrF,IAAI,CAACA,QAAQ,EAAE;MACb;IACF;IAEA,MAAME,QAAQ,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,GAAGA,QAAQ,CAACG,WAAW;IAEjF,IAAI,CAACN,OAAO,CAACU,cAAc,CAACR,IAAI,EAAEG,QAAoC,CAAC;EACzE;;EAEA;EACAM,aAAaA,CAACC,KAAY,EAAE;IAC1B,OAAO,IAAI,CAACZ,OAAO,CAACa,IAAI,CAACD,KAAK,CAACV,IAAI,EAAEU,KAAK,CAAC;EAC7C;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-client-ip.js","names":["net","getClientIp","request","headerValue","header","socket","remoteAddress","isIP","undefined"],"sources":["../../../../../src/preset/node/utils/get-client-ip.ts"],"sourcesContent":["import type express from 'express';\nimport net from 'node:net';\n\n/**\n * Определяет IP входящего запроса.\n * @param request Входящий запрос.\n * @return IP.\n */\nexport function getClientIp(request: express.Request): string | undefined {\n const headerValue =\n request.header('x-client-ip') ||\n request.header('x-forwarded-for') ||\n request.socket.remoteAddress ||\n '';\n\n return net.isIP(headerValue) ? headerValue : undefined;\n}\n"],"mappings":"AACA,OAAOA,GAAG,MAAM,UAAU;;AAE1B;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,OAAwB,EAAsB;EACxE,MAAMC,WAAW,GACfD,OAAO,CAACE,MAAM,CAAC,aAAa,CAAC,IAC7BF,OAAO,CAACE,MAAM,CAAC,iBAAiB,CAAC,IACjCF,OAAO,CAACG,MAAM,CAACC,aAAa,IAC5B,EAAE;EAEJ,OAAON,GAAG,CAACO,IAAI,CAACJ,WAAW,CAAC,GAAGA,WAAW,GAAGK,SAAS;AACxD"}
1
+ {"version":3,"file":"get-client-ip.js","names":["net","getClientIp","request","headerValue","header","socket","remoteAddress","isIP","undefined"],"sources":["../../../../../src/preset/node/utils/get-client-ip.ts"],"sourcesContent":["import type express from 'express';\nimport net from 'node:net';\n\n/**\n * Определяет IP входящего запроса.\n * @param request Входящий запрос.\n * @return IP.\n */\nexport function getClientIp(request: express.Request): string | undefined {\n const headerValue =\n request.header('x-client-ip') ||\n request.header('x-forwarded-for') ||\n request.socket.remoteAddress ||\n '';\n\n return net.isIP(headerValue) ? headerValue : undefined;\n}\n"],"mappings":"AACA,OAAOA,GAAG,MAAM,UAAU;;AAE1B;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,OAAwB,EAAsB;EACxE,MAAMC,WAAW,GACfD,OAAO,CAACE,MAAM,CAAC,aAAa,CAAC,IAC7BF,OAAO,CAACE,MAAM,CAAC,iBAAiB,CAAC,IACjCF,OAAO,CAACG,MAAM,CAACC,aAAa,IAC5B,EAAE;EAEJ,OAAON,GAAG,CAACO,IAAI,CAACJ,WAAW,CAAC,GAAGA,WAAW,GAAGK,SAAS;AACxD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-fetch-tracing.js","names":["SpanStatusCode","ATTR_HTTP_REQUEST_METHOD","ATTR_URL_FULL","getSemanticHeaders","getFetchTracing","tracer","rootContext","request","next","url","URL","span","startSpan","method","pathname","undefined","setAttributes","href","headers","response","end","error","setStatus","code","ERROR","message"],"sources":["../../../../../src/preset/node/utils/get-fetch-tracing.ts"],"sourcesContent":["import type { Middleware } from '../../../http';\nimport { SpanStatusCode, type Context, type Tracer } from '@opentelemetry/api';\nimport { ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } from '@opentelemetry/semantic-conventions';\nimport { getSemanticHeaders } from './telemetry';\n\n/**\n * Вернет новый промежуточный слой трассировки для fetch.\n * @param tracer Трассировщик.\n * @param rootContext Контекст.\n * @return Промежуточный слой трассировки.\n */\nexport function getFetchTracing(tracer: Tracer, rootContext: Context): Middleware {\n return async (request, next) => {\n const url = new URL(request.url);\n const span = tracer.startSpan(\n `fetch ${request.method} ${url.pathname}`,\n undefined,\n rootContext,\n );\n\n span.setAttributes({\n [ATTR_URL_FULL]: url.href,\n [ATTR_HTTP_REQUEST_METHOD]: request.method,\n ...getSemanticHeaders(request.headers),\n });\n\n try {\n const response = await next(request);\n\n span.end();\n\n return response;\n } catch (error) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: 'HTTP Request failed',\n });\n\n span.end();\n\n // ВАЖНО: не прячем ошибку\n throw error;\n }\n };\n}\n"],"mappings":"AACA,SAASA,cAAc,QAAmC,oBAAoB;AAC9E,SAASC,wBAAwB,EAAEC,aAAa,QAAQ,qCAAqC;AAC7F,SAASC,kBAAkB,QAAQ,gBAAa;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAc,EAAEC,WAAoB,EAAc;EAChF,OAAO,OAAOC,OAAO,EAAEC,IAAI,KAAK;IAC9B,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACH,OAAO,CAACE,GAAG,CAAC;IAChC,MAAME,IAAI,GAAGN,MAAM,CAACO,SAAS,CAC1B,SAAQL,OAAO,CAACM,MAAO,IAAGJ,GAAG,CAACK,QAAS,EAAC,EACzCC,SAAS,EACTT,WACF,CAAC;IAEDK,IAAI,CAACK,aAAa,CAAC;MACjB,CAACd,aAAa,GAAGO,GAAG,CAACQ,IAAI;MACzB,CAAChB,wBAAwB,GAAGM,OAAO,CAACM,MAAM;MAC1C,GAAGV,kBAAkB,CAACI,OAAO,CAACW,OAAO;IACvC,CAAC,CAAC;IAEF,IAAI;MACF,MAAMC,QAAQ,GAAG,MAAMX,IAAI,CAACD,OAAO,CAAC;MAEpCI,IAAI,CAACS,GAAG,CAAC,CAAC;MAEV,OAAOD,QAAQ;IACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;MACdV,IAAI,CAACW,SAAS,CAAC;QACbC,IAAI,EAAEvB,cAAc,CAACwB,KAAK;QAC1BC,OAAO,EAAE;MACX,CAAC,CAAC;MAEFd,IAAI,CAACS,GAAG,CAAC,CAAC;;MAEV;MACA,MAAMC,KAAK;IACb;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"get-fetch-tracing.js","names":["SpanStatusCode","ATTR_HTTP_REQUEST_METHOD","ATTR_URL_FULL","getSemanticHeaders","getFetchTracing","tracer","rootContext","request","next","url","URL","span","startSpan","method","pathname","undefined","setAttributes","href","headers","response","end","error","setStatus","code","ERROR","message"],"sources":["../../../../../src/preset/node/utils/get-fetch-tracing.ts"],"sourcesContent":["import type { Middleware } from '../../../http';\nimport { SpanStatusCode, type Context, type Tracer } from '@opentelemetry/api';\nimport { ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } from '@opentelemetry/semantic-conventions';\nimport { getSemanticHeaders } from './telemetry';\n\n/**\n * Вернет новый промежуточный слой трассировки для fetch.\n * @param tracer Трассировщик.\n * @param rootContext Контекст.\n * @return Промежуточный слой трассировки.\n */\nexport function getFetchTracing(tracer: Tracer, rootContext: Context): Middleware {\n return async (request, next) => {\n const url = new URL(request.url);\n const span = tracer.startSpan(\n `fetch ${request.method} ${url.pathname}`,\n undefined,\n rootContext,\n );\n\n span.setAttributes({\n [ATTR_URL_FULL]: url.href,\n [ATTR_HTTP_REQUEST_METHOD]: request.method,\n ...getSemanticHeaders(request.headers),\n });\n\n try {\n const response = await next(request);\n\n span.end();\n\n return response;\n } catch (error) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: 'HTTP Request failed',\n });\n\n span.end();\n\n // ВАЖНО: не прячем ошибку\n throw error;\n }\n };\n}\n"],"mappings":"AACA,SAASA,cAAc,QAAmC,oBAAoB;AAC9E,SAASC,wBAAwB,EAAEC,aAAa,QAAQ,qCAAqC;AAC7F,SAASC,kBAAkB,QAAQ,gBAAa;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAc,EAAEC,WAAoB,EAAc;EAChF,OAAO,OAAOC,OAAO,EAAEC,IAAI,KAAK;IAC9B,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACH,OAAO,CAACE,GAAG,CAAC;IAChC,MAAME,IAAI,GAAGN,MAAM,CAACO,SAAS,CAC3B,SAASL,OAAO,CAACM,MAAM,IAAIJ,GAAG,CAACK,QAAQ,EAAE,EACzCC,SAAS,EACTT,WACF,CAAC;IAEDK,IAAI,CAACK,aAAa,CAAC;MACjB,CAACd,aAAa,GAAGO,GAAG,CAACQ,IAAI;MACzB,CAAChB,wBAAwB,GAAGM,OAAO,CAACM,MAAM;MAC1C,GAAGV,kBAAkB,CAACI,OAAO,CAACW,OAAO;IACvC,CAAC,CAAC;IAEF,IAAI;MACF,MAAMC,QAAQ,GAAG,MAAMX,IAAI,CAACD,OAAO,CAAC;MAEpCI,IAAI,CAACS,GAAG,CAAC,CAAC;MAEV,OAAOD,QAAQ;IACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;MACdV,IAAI,CAACW,SAAS,CAAC;QACbC,IAAI,EAAEvB,cAAc,CAACwB,KAAK;QAC1BC,OAAO,EAAE;MACX,CAAC,CAAC;MAEFd,IAAI,CAACS,GAAG,CAAC,CAAC;;MAEV;MACA,MAAMC,KAAK;IACb;EACF,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-forwarded-headers.js","names":["getClientIp","getForwardedHeaders","config","request","result","appName","appVersion","clientIp","cookie","header","Cookie","key","Object","keys","headers","value","toLowerCase","startsWith"],"sources":["../../../../../src/preset/node/utils/get-forwarded-headers.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport type express from 'express';\nimport { getClientIp } from './get-client-ip';\n\n/**\n * Формирует заголовки для исходящих запросов с сервера по соглашению.\n * @param config Конфиг.\n * @param request Входящий запрос.\n * @return Заголовки для исходящих запросов.\n */\nexport function getForwardedHeaders(\n config: BaseConfig,\n request: express.Request,\n): Record<string, string> {\n const result: Record<string, string> = {\n 'User-Agent': `simaland-${config.appName}/${config.appVersion}`,\n };\n\n const clientIp = getClientIp(request);\n if (clientIp) {\n result['X-Client-Ip'] = clientIp;\n }\n\n const cookie = request.header('cookie');\n if (cookie) {\n result.Cookie = cookie;\n }\n\n // добавляем специфичные заголовки\n for (const key of Object.keys(request.headers)) {\n const value = request.header(key);\n\n if (\n key.toLowerCase().startsWith('simaland-') &&\n key.toLowerCase() !== 'simaland-params' &&\n value\n ) {\n result[key] = value;\n }\n }\n\n return result;\n}\n"],"mappings":"AAEA,SAASA,WAAW,QAAQ,oBAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CACjCC,MAAkB,EAClBC,OAAwB,EACA;EACxB,MAAMC,MAA8B,GAAG;IACrC,YAAY,EAAG,YAAWF,MAAM,CAACG,OAAQ,IAAGH,MAAM,CAACI,UAAW;EAChE,CAAC;EAED,MAAMC,QAAQ,GAAGP,WAAW,CAACG,OAAO,CAAC;EACrC,IAAII,QAAQ,EAAE;IACZH,MAAM,CAAC,aAAa,CAAC,GAAGG,QAAQ;EAClC;EAEA,MAAMC,MAAM,GAAGL,OAAO,CAACM,MAAM,CAAC,QAAQ,CAAC;EACvC,IAAID,MAAM,EAAE;IACVJ,MAAM,CAACM,MAAM,GAAGF,MAAM;EACxB;;EAEA;EACA,KAAK,MAAMG,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACV,OAAO,CAACW,OAAO,CAAC,EAAE;IAC9C,MAAMC,KAAK,GAAGZ,OAAO,CAACM,MAAM,CAACE,GAAG,CAAC;IAEjC,IACEA,GAAG,CAACK,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,WAAW,CAAC,IACzCN,GAAG,CAACK,WAAW,CAAC,CAAC,KAAK,iBAAiB,IACvCD,KAAK,EACL;MACAX,MAAM,CAACO,GAAG,CAAC,GAAGI,KAAK;IACrB;EACF;EAEA,OAAOX,MAAM;AACf"}
1
+ {"version":3,"file":"get-forwarded-headers.js","names":["getClientIp","getForwardedHeaders","config","request","result","appName","appVersion","clientIp","cookie","header","Cookie","key","Object","keys","headers","value","toLowerCase","startsWith"],"sources":["../../../../../src/preset/node/utils/get-forwarded-headers.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport type express from 'express';\nimport { getClientIp } from './get-client-ip';\n\n/**\n * Формирует заголовки для исходящих запросов с сервера по соглашению.\n * @param config Конфиг.\n * @param request Входящий запрос.\n * @return Заголовки для исходящих запросов.\n */\nexport function getForwardedHeaders(\n config: BaseConfig,\n request: express.Request,\n): Record<string, string> {\n const result: Record<string, string> = {\n 'User-Agent': `simaland-${config.appName}/${config.appVersion}`,\n };\n\n const clientIp = getClientIp(request);\n if (clientIp) {\n result['X-Client-Ip'] = clientIp;\n }\n\n const cookie = request.header('cookie');\n if (cookie) {\n result.Cookie = cookie;\n }\n\n // добавляем специфичные заголовки\n for (const key of Object.keys(request.headers)) {\n const value = request.header(key);\n\n if (\n key.toLowerCase().startsWith('simaland-') &&\n key.toLowerCase() !== 'simaland-params' &&\n value\n ) {\n result[key] = value;\n }\n }\n\n return result;\n}\n"],"mappings":"AAEA,SAASA,WAAW,QAAQ,oBAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CACjCC,MAAkB,EAClBC,OAAwB,EACA;EACxB,MAAMC,MAA8B,GAAG;IACrC,YAAY,EAAE,YAAYF,MAAM,CAACG,OAAO,IAAIH,MAAM,CAACI,UAAU;EAC/D,CAAC;EAED,MAAMC,QAAQ,GAAGP,WAAW,CAACG,OAAO,CAAC;EACrC,IAAII,QAAQ,EAAE;IACZH,MAAM,CAAC,aAAa,CAAC,GAAGG,QAAQ;EAClC;EAEA,MAAMC,MAAM,GAAGL,OAAO,CAACM,MAAM,CAAC,QAAQ,CAAC;EACvC,IAAID,MAAM,EAAE;IACVJ,MAAM,CAACM,MAAM,GAAGF,MAAM;EACxB;;EAEA;EACA,KAAK,MAAMG,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACV,OAAO,CAACW,OAAO,CAAC,EAAE;IAC9C,MAAMC,KAAK,GAAGZ,OAAO,CAACM,MAAM,CAACE,GAAG,CAAC;IAEjC,IACEA,GAAG,CAACK,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,WAAW,CAAC,IACzCN,GAAG,CAACK,WAAW,CAAC,CAAC,KAAK,iBAAiB,IACvCD,KAAK,EACL;MACAX,MAAM,CAACO,GAAG,CAAC,GAAGI,KAAK;IACrB;EACF;EAEA,OAAOX,MAAM;AACf","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-handler-metrics.js","names":["PromClient","LABEL_NAMES","httpResponse","pageRender","getHandlerMetrics","requestCount","Counter","name","help","labelNames","responseDuration","Histogram","buckets","renderDuration"],"sources":["../../../../../src/preset/node/utils/get-handler-metrics.ts"],"sourcesContent":["import PromClient from 'prom-client';\n\nexport const LABEL_NAMES = {\n httpResponse: ['version', 'route', 'code', 'method'],\n pageRender: ['version', 'route', 'method'],\n} as const;\n\n/**\n * Возвращает метрики обработки входящего http-запроса.\n * @return Метрики.\n */\nexport function getHandlerMetrics() {\n const requestCount = new PromClient.Counter({\n name: 'http_request_count',\n help: 'Incoming HTTP request count',\n labelNames: LABEL_NAMES.httpResponse,\n });\n\n const responseDuration = new PromClient.Histogram({\n name: 'http_response_duration_ms',\n help: 'Duration of incoming HTTP requests in ms',\n labelNames: LABEL_NAMES.httpResponse,\n buckets: [30, 100, 200, 500, 1000, 2500, 5000, 10000],\n });\n\n const renderDuration = new PromClient.Histogram({\n name: 'render_duration_ms',\n help: 'Duration of SSR ms',\n labelNames: LABEL_NAMES.pageRender,\n buckets: [0.1, 15, 50, 100, 250, 500, 800, 1500],\n });\n\n return {\n requestCount,\n renderDuration,\n responseDuration,\n };\n}\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,aAAa;AAEpC,OAAO,MAAMC,WAAW,GAAG;EACzBC,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;EACpDC,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ;AAC3C,CAAU;;AAEV;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClC,MAAMC,YAAY,GAAG,IAAIL,UAAU,CAACM,OAAO,CAAC;IAC1CC,IAAI,EAAE,oBAAoB;IAC1BC,IAAI,EAAE,6BAA6B;IACnCC,UAAU,EAAER,WAAW,CAACC;EAC1B,CAAC,CAAC;EAEF,MAAMQ,gBAAgB,GAAG,IAAIV,UAAU,CAACW,SAAS,CAAC;IAChDJ,IAAI,EAAE,2BAA2B;IACjCC,IAAI,EAAE,0CAA0C;IAChDC,UAAU,EAAER,WAAW,CAACC,YAAY;IACpCU,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;EACtD,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAG,IAAIb,UAAU,CAACW,SAAS,CAAC;IAC9CJ,IAAI,EAAE,oBAAoB;IAC1BC,IAAI,EAAE,oBAAoB;IAC1BC,UAAU,EAAER,WAAW,CAACE,UAAU;IAClCS,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;EACjD,CAAC,CAAC;EAEF,OAAO;IACLP,YAAY;IACZQ,cAAc;IACdH;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"get-handler-metrics.js","names":["PromClient","LABEL_NAMES","httpResponse","pageRender","getHandlerMetrics","requestCount","Counter","name","help","labelNames","responseDuration","Histogram","buckets","renderDuration"],"sources":["../../../../../src/preset/node/utils/get-handler-metrics.ts"],"sourcesContent":["import PromClient from 'prom-client';\n\nexport const LABEL_NAMES = {\n httpResponse: ['version', 'route', 'code', 'method'],\n pageRender: ['version', 'route', 'method'],\n} as const;\n\n/**\n * Возвращает метрики обработки входящего http-запроса.\n * @return Метрики.\n */\nexport function getHandlerMetrics() {\n const requestCount = new PromClient.Counter({\n name: 'http_request_count',\n help: 'Incoming HTTP request count',\n labelNames: LABEL_NAMES.httpResponse,\n });\n\n const responseDuration = new PromClient.Histogram({\n name: 'http_response_duration_ms',\n help: 'Duration of incoming HTTP requests in ms',\n labelNames: LABEL_NAMES.httpResponse,\n buckets: [30, 100, 200, 500, 1000, 2500, 5000, 10000],\n });\n\n const renderDuration = new PromClient.Histogram({\n name: 'render_duration_ms',\n help: 'Duration of SSR ms',\n labelNames: LABEL_NAMES.pageRender,\n buckets: [0.1, 15, 50, 100, 250, 500, 800, 1500],\n });\n\n return {\n requestCount,\n renderDuration,\n responseDuration,\n };\n}\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,aAAa;AAEpC,OAAO,MAAMC,WAAW,GAAG;EACzBC,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;EACpDC,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ;AAC3C,CAAU;;AAEV;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClC,MAAMC,YAAY,GAAG,IAAIL,UAAU,CAACM,OAAO,CAAC;IAC1CC,IAAI,EAAE,oBAAoB;IAC1BC,IAAI,EAAE,6BAA6B;IACnCC,UAAU,EAAER,WAAW,CAACC;EAC1B,CAAC,CAAC;EAEF,MAAMQ,gBAAgB,GAAG,IAAIV,UAAU,CAACW,SAAS,CAAC;IAChDJ,IAAI,EAAE,2BAA2B;IACjCC,IAAI,EAAE,0CAA0C;IAChDC,UAAU,EAAER,WAAW,CAACC,YAAY;IACpCU,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;EACtD,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAG,IAAIb,UAAU,CAACW,SAAS,CAAC;IAC9CJ,IAAI,EAAE,oBAAoB;IAC1BC,IAAI,EAAE,oBAAoB;IAC1BC,UAAU,EAAER,WAAW,CAACE,UAAU;IAClCS,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;EACjD,CAAC,CAAC;EAEF,OAAO;IACLP,YAAY;IACZQ,cAAc;IACdH;EACF,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-page-response-format.js","names":["getPageResponseFormat","req","result","header","toLowerCase","includes"],"sources":["../../../../../src/preset/node/utils/get-page-response-format.tsx"],"sourcesContent":["import type express from 'express';\n\n/**\n * Определит формат ответа.\n * @param req Запрос.\n * @return Формат.\n * @todo Перенести в preset/node (или в preset/server но с именем getPageResponseFormatExpress?).\n * @deprecated Стоит использовать npm:accepts.\n */\nexport function getPageResponseFormat(req: express.Request): 'html' | 'json' {\n let result: 'html' | 'json' = 'html';\n\n if ((req.header('accept') || '').toLowerCase().includes('application/json')) {\n result = 'json';\n }\n\n return result;\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAqBA,CAACC,GAAoB,EAAmB;EAC3E,IAAIC,MAAuB,GAAG,MAAM;EAEpC,IAAI,CAACD,GAAG,CAACE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAEC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;IAC3EH,MAAM,GAAG,MAAM;EACjB;EAEA,OAAOA,MAAM;AACf"}
1
+ {"version":3,"file":"get-page-response-format.js","names":["getPageResponseFormat","req","result","header","toLowerCase","includes"],"sources":["../../../../../src/preset/node/utils/get-page-response-format.tsx"],"sourcesContent":["import type express from 'express';\n\n/**\n * Определит формат ответа.\n * @param req Запрос.\n * @return Формат.\n * @todo Перенести в preset/node (или в preset/server но с именем getPageResponseFormatExpress?).\n * @deprecated Стоит использовать npm:accepts.\n */\nexport function getPageResponseFormat(req: express.Request): 'html' | 'json' {\n let result: 'html' | 'json' = 'html';\n\n if ((req.header('accept') || '').toLowerCase().includes('application/json')) {\n result = 'json';\n }\n\n return result;\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAqBA,CAACC,GAAoB,EAAmB;EAC3E,IAAIC,MAAuB,GAAG,MAAM;EAEpC,IAAI,CAACD,GAAG,CAACE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAEC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;IAC3EH,MAAM,GAAG,MAAM;EACjB;EAEA,OAAOA,MAAM;AACf","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-serve-measuring.js","names":["PAGE_HANDLER_EVENT_TYPE","toMilliseconds","getHandlerMetrics","getServeMeasuring","config","requestCount","renderDuration","responseDuration","getResponseLabels","req","res","version","appVersion","route","url","code","status","method","getRenderLabels","request","next","context","responseStart","process","hrtime","bigint","renderStart","events","addEventListener","once","renderFinish","observe","response","responseFinish","inc"],"sources":["../../../../../src/preset/node/utils/get-serve-measuring.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport type { ServerMiddleware } from '../../server/types';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server/constants';\nimport { toMilliseconds } from '../../../utils';\nimport { LABEL_NAMES, getHandlerMetrics } from './get-handler-metrics';\n\n/**\n * Возвращает новый промежуточный слой метрки входящего http-запроса.\n * @param config Конфигурация.\n * @return Промежуточный слой.\n */\nexport function getServeMeasuring(config: BaseConfig): ServerMiddleware {\n const { requestCount, renderDuration, responseDuration } = getHandlerMetrics();\n\n /** @inheritdoc */\n const getResponseLabels = (req: Request, res: Response) =>\n ({\n version: config.appVersion,\n route: req.url,\n code: res.status,\n method: req.method,\n }) satisfies Record<(typeof LABEL_NAMES.httpResponse)[number], string | number>;\n\n /** @inheritdoc */\n const getRenderLabels = (request: Request) =>\n ({\n version: config.appVersion,\n method: request.method,\n route: request.url,\n }) satisfies Record<(typeof LABEL_NAMES.pageRender)[number], string | number>;\n\n return async (request, next, context) => {\n const responseStart = process.hrtime.bigint();\n let renderStart = 0n;\n\n context.events.addEventListener(\n PAGE_HANDLER_EVENT_TYPE.renderStart,\n () => {\n renderStart = process.hrtime.bigint();\n },\n { once: true },\n );\n\n context.events.addEventListener(\n PAGE_HANDLER_EVENT_TYPE.renderFinish,\n () => {\n const renderFinish = process.hrtime.bigint();\n\n renderDuration.observe(\n getRenderLabels(request),\n toMilliseconds(renderFinish - renderStart),\n );\n },\n { once: true },\n );\n\n const response = await next(request);\n const responseFinish = process.hrtime.bigint();\n\n responseDuration.observe(\n getResponseLabels(request, response),\n toMilliseconds(responseFinish - responseStart),\n );\n\n requestCount.inc(getResponseLabels(request, response), 1);\n\n return response;\n };\n}\n"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ,2BAAwB;AAChE,SAASC,cAAc,QAAQ,2BAAgB;AAC/C,SAAsBC,iBAAiB,QAAQ,0BAAuB;;AAEtE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,MAAkB,EAAoB;EACtE,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAGL,iBAAiB,CAAC,CAAC;;EAE9E;EACA,MAAMM,iBAAiB,GAAGA,CAACC,GAAY,EAAEC,GAAa,MACnD;IACCC,OAAO,EAAEP,MAAM,CAACQ,UAAU;IAC1BC,KAAK,EAAEJ,GAAG,CAACK,GAAG;IACdC,IAAI,EAAEL,GAAG,CAACM,MAAM;IAChBC,MAAM,EAAER,GAAG,CAACQ;EACd,CAAC,CAA8E;;EAEjF;EACA,MAAMC,eAAe,GAAIC,OAAgB,KACtC;IACCR,OAAO,EAAEP,MAAM,CAACQ,UAAU;IAC1BK,MAAM,EAAEE,OAAO,CAACF,MAAM;IACtBJ,KAAK,EAAEM,OAAO,CAACL;EACjB,CAAC,CAA4E;EAE/E,OAAO,OAAOK,OAAO,EAAEC,IAAI,EAAEC,OAAO,KAAK;IACvC,MAAMC,aAAa,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAC7C,IAAIC,WAAW,GAAG,EAAE;IAEpBL,OAAO,CAACM,MAAM,CAACC,gBAAgB,CAC7B5B,uBAAuB,CAAC0B,WAAW,EACnC,MAAM;MACJA,WAAW,GAAGH,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IACvC,CAAC,EACD;MAAEI,IAAI,EAAE;IAAK,CACf,CAAC;IAEDR,OAAO,CAACM,MAAM,CAACC,gBAAgB,CAC7B5B,uBAAuB,CAAC8B,YAAY,EACpC,MAAM;MACJ,MAAMA,YAAY,GAAGP,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE5CnB,cAAc,CAACyB,OAAO,CACpBb,eAAe,CAACC,OAAO,CAAC,EACxBlB,cAAc,CAAC6B,YAAY,GAAGJ,WAAW,CAC3C,CAAC;IACH,CAAC,EACD;MAAEG,IAAI,EAAE;IAAK,CACf,CAAC;IAED,MAAMG,QAAQ,GAAG,MAAMZ,IAAI,CAACD,OAAO,CAAC;IACpC,MAAMc,cAAc,GAAGV,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAE9ClB,gBAAgB,CAACwB,OAAO,CACtBvB,iBAAiB,CAACW,OAAO,EAAEa,QAAQ,CAAC,EACpC/B,cAAc,CAACgC,cAAc,GAAGX,aAAa,CAC/C,CAAC;IAEDjB,YAAY,CAAC6B,GAAG,CAAC1B,iBAAiB,CAACW,OAAO,EAAEa,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzD,OAAOA,QAAQ;EACjB,CAAC;AACH"}
1
+ {"version":3,"file":"get-serve-measuring.js","names":["PAGE_HANDLER_EVENT_TYPE","toMilliseconds","getHandlerMetrics","getServeMeasuring","config","requestCount","renderDuration","responseDuration","getResponseLabels","req","res","version","appVersion","route","url","code","status","method","getRenderLabels","request","next","context","responseStart","process","hrtime","bigint","renderStart","events","addEventListener","once","renderFinish","observe","response","responseFinish","inc"],"sources":["../../../../../src/preset/node/utils/get-serve-measuring.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport type { ServerMiddleware } from '../../server/types';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server/constants';\nimport { toMilliseconds } from '../../../utils';\nimport { LABEL_NAMES, getHandlerMetrics } from './get-handler-metrics';\n\n/**\n * Возвращает новый промежуточный слой метрки входящего http-запроса.\n * @param config Конфигурация.\n * @return Промежуточный слой.\n */\nexport function getServeMeasuring(config: BaseConfig): ServerMiddleware {\n const { requestCount, renderDuration, responseDuration } = getHandlerMetrics();\n\n /** @inheritdoc */\n const getResponseLabels = (req: Request, res: Response) =>\n ({\n version: config.appVersion,\n route: req.url,\n code: res.status,\n method: req.method,\n }) satisfies Record<(typeof LABEL_NAMES.httpResponse)[number], string | number>;\n\n /** @inheritdoc */\n const getRenderLabels = (request: Request) =>\n ({\n version: config.appVersion,\n method: request.method,\n route: request.url,\n }) satisfies Record<(typeof LABEL_NAMES.pageRender)[number], string | number>;\n\n return async (request, next, context) => {\n const responseStart = process.hrtime.bigint();\n let renderStart = 0n;\n\n context.events.addEventListener(\n PAGE_HANDLER_EVENT_TYPE.renderStart,\n () => {\n renderStart = process.hrtime.bigint();\n },\n { once: true },\n );\n\n context.events.addEventListener(\n PAGE_HANDLER_EVENT_TYPE.renderFinish,\n () => {\n const renderFinish = process.hrtime.bigint();\n\n renderDuration.observe(\n getRenderLabels(request),\n toMilliseconds(renderFinish - renderStart),\n );\n },\n { once: true },\n );\n\n const response = await next(request);\n const responseFinish = process.hrtime.bigint();\n\n responseDuration.observe(\n getResponseLabels(request, response),\n toMilliseconds(responseFinish - responseStart),\n );\n\n requestCount.inc(getResponseLabels(request, response), 1);\n\n return response;\n };\n}\n"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ,2BAAwB;AAChE,SAASC,cAAc,QAAQ,2BAAgB;AAC/C,SAAsBC,iBAAiB,QAAQ,0BAAuB;;AAEtE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,MAAkB,EAAoB;EACtE,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAGL,iBAAiB,CAAC,CAAC;;EAE9E;EACA,MAAMM,iBAAiB,GAAGA,CAACC,GAAY,EAAEC,GAAa,MACnD;IACCC,OAAO,EAAEP,MAAM,CAACQ,UAAU;IAC1BC,KAAK,EAAEJ,GAAG,CAACK,GAAG;IACdC,IAAI,EAAEL,GAAG,CAACM,MAAM;IAChBC,MAAM,EAAER,GAAG,CAACQ;EACd,CAAC,CAA8E;;EAEjF;EACA,MAAMC,eAAe,GAAIC,OAAgB,KACtC;IACCR,OAAO,EAAEP,MAAM,CAACQ,UAAU;IAC1BK,MAAM,EAAEE,OAAO,CAACF,MAAM;IACtBJ,KAAK,EAAEM,OAAO,CAACL;EACjB,CAAC,CAA4E;EAE/E,OAAO,OAAOK,OAAO,EAAEC,IAAI,EAAEC,OAAO,KAAK;IACvC,MAAMC,aAAa,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAC7C,IAAIC,WAAW,GAAG,EAAE;IAEpBL,OAAO,CAACM,MAAM,CAACC,gBAAgB,CAC7B5B,uBAAuB,CAAC0B,WAAW,EACnC,MAAM;MACJA,WAAW,GAAGH,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IACvC,CAAC,EACD;MAAEI,IAAI,EAAE;IAAK,CACf,CAAC;IAEDR,OAAO,CAACM,MAAM,CAACC,gBAAgB,CAC7B5B,uBAAuB,CAAC8B,YAAY,EACpC,MAAM;MACJ,MAAMA,YAAY,GAAGP,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE5CnB,cAAc,CAACyB,OAAO,CACpBb,eAAe,CAACC,OAAO,CAAC,EACxBlB,cAAc,CAAC6B,YAAY,GAAGJ,WAAW,CAC3C,CAAC;IACH,CAAC,EACD;MAAEG,IAAI,EAAE;IAAK,CACf,CAAC;IAED,MAAMG,QAAQ,GAAG,MAAMZ,IAAI,CAACD,OAAO,CAAC;IACpC,MAAMc,cAAc,GAAGV,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAE9ClB,gBAAgB,CAACwB,OAAO,CACtBvB,iBAAiB,CAACW,OAAO,EAAEa,QAAQ,CAAC,EACpC/B,cAAc,CAACgC,cAAc,GAAGX,aAAa,CAC/C,CAAC;IAEDjB,YAAY,CAAC6B,GAAG,CAAC1B,iBAAiB,CAACW,OAAO,EAAEa,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzD,OAAOA,QAAQ;EACjB,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"handler-provider.js","names":["KnownToken","CURRENT_APP","HandlerProvider","getApp","resolve","parent","req","res","next","app","attach","bind","ExpressHandler","context","toValue","get","main"],"sources":["../../../../../src/preset/node/utils/handler-provider.ts"],"sourcesContent":["import type express from 'express';\nimport { KnownToken } from '../../../tokens';\nimport { CURRENT_APP, type Application, type Provider, type Resolve } from '../../../di';\n\n/**\n * Возвращает express-handler, создающий дочернее di-приложение при запросе.\n * @param getApp Должна вернуть di-приложения запроса.\n * @return Обработчик.\n */\nexport function HandlerProvider(getApp: () => Application): Provider<express.Handler> {\n return (resolve: Resolve): express.Handler => {\n const parent = resolve(CURRENT_APP);\n\n return (req, res, next) => {\n const app = getApp();\n\n app.attach(parent);\n app.bind(KnownToken.ExpressHandler.context).toValue({ req, res, next });\n app.get(KnownToken.ExpressHandler.main)(req, res, next);\n };\n };\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,WAAW,QAAuD,wBAAa;;AAExF;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAyB,EAA6B;EACpF,OAAQC,OAAgB,IAAsB;IAC5C,MAAMC,MAAM,GAAGD,OAAO,CAACH,WAAW,CAAC;IAEnC,OAAO,CAACK,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;MACzB,MAAMC,GAAG,GAAGN,MAAM,CAAC,CAAC;MAEpBM,GAAG,CAACC,MAAM,CAACL,MAAM,CAAC;MAClBI,GAAG,CAACE,IAAI,CAACX,UAAU,CAACY,cAAc,CAACC,OAAO,CAAC,CAACC,OAAO,CAAC;QAAER,GAAG;QAAEC,GAAG;QAAEC;MAAK,CAAC,CAAC;MACvEC,GAAG,CAACM,GAAG,CAACf,UAAU,CAACY,cAAc,CAACI,IAAI,CAAC,CAACV,GAAG,EAAEC,GAAG,EAAEC,IAAI,CAAC;IACzD,CAAC;EACH,CAAC;AACH"}
1
+ {"version":3,"file":"handler-provider.js","names":["KnownToken","CURRENT_APP","HandlerProvider","getApp","resolve","parent","req","res","next","app","attach","bind","ExpressHandler","context","toValue","get","main"],"sources":["../../../../../src/preset/node/utils/handler-provider.ts"],"sourcesContent":["import type express from 'express';\nimport { KnownToken } from '../../../tokens';\nimport { CURRENT_APP, type Application, type Provider, type Resolve } from '../../../di';\n\n/**\n * Возвращает express-handler, создающий дочернее di-приложение при запросе.\n * @param getApp Должна вернуть di-приложения запроса.\n * @return Обработчик.\n */\nexport function HandlerProvider(getApp: () => Application): Provider<express.Handler> {\n return (resolve: Resolve): express.Handler => {\n const parent = resolve(CURRENT_APP);\n\n return (req, res, next) => {\n const app = getApp();\n\n app.attach(parent);\n app.bind(KnownToken.ExpressHandler.context).toValue({ req, res, next });\n app.get(KnownToken.ExpressHandler.main)(req, res, next);\n };\n };\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,WAAW,QAAuD,wBAAa;;AAExF;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAyB,EAA6B;EACpF,OAAQC,OAAgB,IAAsB;IAC5C,MAAMC,MAAM,GAAGD,OAAO,CAACH,WAAW,CAAC;IAEnC,OAAO,CAACK,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;MACzB,MAAMC,GAAG,GAAGN,MAAM,CAAC,CAAC;MAEpBM,GAAG,CAACC,MAAM,CAACL,MAAM,CAAC;MAClBI,GAAG,CAACE,IAAI,CAACX,UAAU,CAACY,cAAc,CAACC,OAAO,CAAC,CAACC,OAAO,CAAC;QAAER,GAAG;QAAEC,GAAG;QAAEC;MAAK,CAAC,CAAC;MACvEC,GAAG,CAACM,GAAG,CAACf,UAAU,CAACY,cAAc,CAACI,IAAI,CAAC,CAACV,GAAG,EAAEC,GAAG,EAAEC,IAAI,CAAC;IACzD,CAAC;EACH,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","names":["ATTR_HTTP_REQUEST_HEADER","getSemanticHeaders","headers","result","Object","entries","reduce","acc","key","value","keys","length"],"sources":["../../../../../src/preset/node/utils/telemetry.ts"],"sourcesContent":["import { ATTR_HTTP_REQUEST_HEADER } from '@opentelemetry/semantic-conventions';\n\n/**\n * Формирует данные заголовков согласно семантике.\n * @todo Возможно стоит убрать cookie/Cookie.\n * @param headers Объект заголовков запроса.\n * @return Данные заголовков.\n */\nexport function getSemanticHeaders(headers: Record<string, any>): Record<string, string> | null {\n const result = Object.entries(headers).reduce<Record<string, string>>((acc, [key, value]) => {\n if (value || typeof value === 'number') {\n acc[ATTR_HTTP_REQUEST_HEADER(key)] = value;\n }\n return acc;\n }, {});\n\n return Object.keys(result).length ? result : null;\n}\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,qCAAqC;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,OAA4B,EAAiC;EAC9F,MAAMC,MAAM,GAAGC,MAAM,CAACC,OAAO,CAACH,OAAO,CAAC,CAACI,MAAM,CAAyB,CAACC,GAAG,EAAE,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;IAC3F,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACtCF,GAAG,CAACP,wBAAwB,CAACQ,GAAG,CAAC,CAAC,GAAGC,KAAK;IAC5C;IACA,OAAOF,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,OAAOH,MAAM,CAACM,IAAI,CAACP,MAAM,CAAC,CAACQ,MAAM,GAAGR,MAAM,GAAG,IAAI;AACnD"}
1
+ {"version":3,"file":"telemetry.js","names":["ATTR_HTTP_REQUEST_HEADER","getSemanticHeaders","headers","result","Object","entries","reduce","acc","key","value","keys","length"],"sources":["../../../../../src/preset/node/utils/telemetry.ts"],"sourcesContent":["import { ATTR_HTTP_REQUEST_HEADER } from '@opentelemetry/semantic-conventions';\n\n/**\n * Формирует данные заголовков согласно семантике.\n * @todo Возможно стоит убрать cookie/Cookie.\n * @param headers Объект заголовков запроса.\n * @return Данные заголовков.\n */\nexport function getSemanticHeaders(headers: Record<string, any>): Record<string, string> | null {\n const result = Object.entries(headers).reduce<Record<string, string>>((acc, [key, value]) => {\n if (value || typeof value === 'number') {\n acc[ATTR_HTTP_REQUEST_HEADER(key)] = value;\n }\n return acc;\n }, {});\n\n return Object.keys(result).length ? result : null;\n}\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,qCAAqC;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,OAA4B,EAAiC;EAC9F,MAAMC,MAAM,GAAGC,MAAM,CAACC,OAAO,CAACH,OAAO,CAAC,CAACI,MAAM,CAAyB,CAACC,GAAG,EAAE,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;IAC3F,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACtCF,GAAG,CAACP,wBAAwB,CAACQ,GAAG,CAAC,CAAC,GAAGC,KAAK;IAC5C;IACA,OAAOF,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,OAAOH,MAAM,CAACM,IAAI,CAACP,MAAM,CAAC,CAACQ,MAAM,GAAGR,MAAM,GAAG,IAAI;AACnD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createPreset","KnownToken","provideReduxMiddlewareSaga","provideFetch","provideAbortController","provideFormatPageResponse","provideElementToString","provideAxiosMiddleware","provideAxiosLogHandler","provideHandlerMain","provideSpecificParams","providePageHelmet","providePageRender","provideFetchMiddleware","provideFetchLogHandler","SpecificExtras","provideAcceptType","provideResponseEvents","provideAxiosFactory","PresetHandler","customize","preset","set","Http","fetch","Fetch","middleware","abortController","Middleware","Log","handler","Redux","saga","Axios","factory","ExpressHandler","main","Handler","Request","acceptType","specificParams","Response","specificExtras","events","Page","assets","js","css","helmet","render","elementToString","formatResponse","override","bind"],"sources":["../../../../src/preset/node-handler/index.ts"],"sourcesContent":["import { Preset, createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { PresetTuner } from '../isomorphic/types';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideAxiosMiddleware } from './providers/axios-middleware';\nimport { provideAxiosLogHandler } from './providers/axios-log-handler';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideAcceptType } from './providers/accepts-type';\nimport { provideResponseEvents } from './providers/response-events';\nimport { provideAxiosFactory } from '../isomorphic/providers/axios-factory';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetHandler(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n // axios\n preset.set(KnownToken.Axios.factory, provideAxiosFactory);\n preset.set(KnownToken.Axios.middleware, provideAxiosMiddleware);\n preset.set(KnownToken.Axios.Middleware.Log.handler, provideAxiosLogHandler);\n\n // express handler\n preset.set(KnownToken.ExpressHandler.main, provideHandlerMain);\n\n // http handler\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["createPreset","KnownToken","provideReduxMiddlewareSaga","provideFetch","provideAbortController","provideFormatPageResponse","provideElementToString","provideAxiosMiddleware","provideAxiosLogHandler","provideHandlerMain","provideSpecificParams","providePageHelmet","providePageRender","provideFetchMiddleware","provideFetchLogHandler","SpecificExtras","provideAcceptType","provideResponseEvents","provideAxiosFactory","PresetHandler","customize","preset","set","Http","fetch","Fetch","middleware","abortController","Middleware","Log","handler","Redux","saga","Axios","factory","ExpressHandler","main","Handler","Request","acceptType","specificParams","Response","specificExtras","events","Page","assets","js","css","helmet","render","elementToString","formatResponse","override","bind"],"sources":["../../../../src/preset/node-handler/index.ts"],"sourcesContent":["import { Preset, createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { PresetTuner } from '../isomorphic/types';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideAxiosMiddleware } from './providers/axios-middleware';\nimport { provideAxiosLogHandler } from './providers/axios-log-handler';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideAcceptType } from './providers/accepts-type';\nimport { provideResponseEvents } from './providers/response-events';\nimport { provideAxiosFactory } from '../isomorphic/providers/axios-factory';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetHandler(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n // axios\n preset.set(KnownToken.Axios.factory, provideAxiosFactory);\n preset.set(KnownToken.Axios.middleware, provideAxiosMiddleware);\n preset.set(KnownToken.Axios.Middleware.Log.handler, provideAxiosLogHandler);\n\n // express handler\n preset.set(KnownToken.ExpressHandler.main, provideHandlerMain);\n\n // http handler\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"AAAA,SAAiBA,YAAY,QAAQ,qBAAU;AAC/C,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,0BAA0B,QAAQ,kDAA+C;AAC1F,SAASC,YAAY,QAAQ,kCAA+B;AAC5D,SAASC,sBAAsB,QAAQ,6CAA0C;AAEjF,SAASC,yBAAyB,QAAQ,6CAA0C;AACpF,SAASC,sBAAsB,QAAQ,0CAAuC;AAC9E,SAASC,sBAAsB,QAAQ,iCAA8B;AACrE,SAASC,sBAAsB,QAAQ,kCAA+B;AACtE,SAASC,kBAAkB,QAAQ,6BAA0B;AAC7D,SAASC,qBAAqB,QAAQ,gCAA6B;AACnE,SAASC,iBAAiB,QAAQ,oCAAiC;AACnE,SAASC,iBAAiB,QAAQ,oCAAiC;AACnE,SAASC,sBAAsB,QAAQ,iCAA8B;AACrE,SAASC,sBAAsB,QAAQ,0CAAuC;AAC9E,SAASC,cAAc,QAAQ,oCAAiC;AAChE,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,qBAAqB,QAAQ,gCAA6B;AACnE,SAASC,mBAAmB,QAAQ,0CAAuC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,SAAuB,EAAU;EAC7D;EACA,MAAMC,MAAM,GAAGrB,YAAY,CAAC,CAAC;;EAE7B;EACAqB,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACC,KAAK,EAAErB,YAAY,CAAC;EAC/CkB,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACE,KAAK,CAACC,UAAU,EAAEb,sBAAsB,CAAC;EACpEQ,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACE,KAAK,CAACE,eAAe,EAAEvB,sBAAsB,CAAC;EACzEiB,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACE,KAAK,CAACG,UAAU,CAACC,GAAG,CAACC,OAAO,EAAEhB,sBAAsB,CAAC;;EAEhF;EACAO,MAAM,CAACC,GAAG,CAACrB,UAAU,CAAC8B,KAAK,CAACH,UAAU,CAACI,IAAI,EAAE9B,0BAA0B,CAAC;;EAExE;EACAmB,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACgC,KAAK,CAACC,OAAO,EAAEhB,mBAAmB,CAAC;EACzDG,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACgC,KAAK,CAACP,UAAU,EAAEnB,sBAAsB,CAAC;EAC/Dc,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACgC,KAAK,CAACL,UAAU,CAACC,GAAG,CAACC,OAAO,EAAEtB,sBAAsB,CAAC;;EAE3E;EACAa,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACkC,cAAc,CAACC,IAAI,EAAE3B,kBAAkB,CAAC;;EAE9D;EACAY,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACC,OAAO,CAACC,UAAU,EAAEvB,iBAAiB,CAAC;EACzEK,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACC,OAAO,CAACE,cAAc,EAAE9B,qBAAqB,CAAC;EACjFW,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACI,QAAQ,CAACC,cAAc,EAAE,MAAM,IAAI3B,cAAc,CAAC,CAAC,CAAC;EACvFM,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACI,QAAQ,CAACE,MAAM,EAAE1B,qBAAqB,CAAC;EAC1EI,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACO,IAAI,CAACC,MAAM,EAAE,OAAO;IAAEC,EAAE,EAAE,EAAE;IAAEC,GAAG,EAAE;EAAG,CAAC,CAAC,CAAC;EAC5E1B,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACO,IAAI,CAACI,MAAM,EAAErC,iBAAiB,CAAC;EAClEU,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACO,IAAI,CAACK,MAAM,EAAErC,iBAAiB,CAAC;EAClES,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACO,IAAI,CAACM,eAAe,EAAE5C,sBAAsB,CAAC;EAChFe,MAAM,CAACC,GAAG,CAACrB,UAAU,CAACsB,IAAI,CAACc,OAAO,CAACO,IAAI,CAACO,cAAc,EAAE9C,yBAAyB,CAAC;EAElF,IAAIe,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEgC,QAAQ,EAAE/B,MAAM,CAACC,GAAG,CAAC+B,IAAI,CAAChC,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"accepts-type.js","names":["KnownToken","provideAcceptType","resolve","context","ExpressHandler","req","accepts","bind"],"sources":["../../../../../src/preset/node-handler/providers/accepts-type.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер функции, которая определяет возможные типы ответа и их приоритет.\n * @param resolve Resolve.\n * @return Функция.\n */\nexport function provideAcceptType(resolve: Resolve) {\n const context = resolve(KnownToken.ExpressHandler.context);\n\n return context.req.accepts.bind(context.req);\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,OAAgB,EAAE;EAClD,MAAMC,OAAO,GAAGD,OAAO,CAACF,UAAU,CAACI,cAAc,CAACD,OAAO,CAAC;EAE1D,OAAOA,OAAO,CAACE,GAAG,CAACC,OAAO,CAACC,IAAI,CAACJ,OAAO,CAACE,GAAG,CAAC;AAC9C"}
1
+ {"version":3,"file":"accepts-type.js","names":["KnownToken","provideAcceptType","resolve","context","ExpressHandler","req","accepts","bind"],"sources":["../../../../../src/preset/node-handler/providers/accepts-type.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер функции, которая определяет возможные типы ответа и их приоритет.\n * @param resolve Resolve.\n * @return Функция.\n */\nexport function provideAcceptType(resolve: Resolve) {\n const context = resolve(KnownToken.ExpressHandler.context);\n\n return context.req.accepts.bind(context.req);\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,OAAgB,EAAE;EAClD,MAAMC,OAAO,GAAGD,OAAO,CAACF,UAAU,CAACI,cAAc,CAACD,OAAO,CAAC;EAE1D,OAAOA,OAAO,CAACE,GAAG,CAACC,OAAO,CAACC,IAAI,CAACJ,OAAO,CAACE,GAAG,CAAC;AAC9C","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"axios-log-handler.js","names":["KnownToken","AxiosLogging","provideAxiosLogHandler","resolve","logger","abortController","Http","Fetch","data","logHandler","disabled","signal","aborted"],"sources":["../../../../../src/preset/node-handler/providers/axios-log-handler.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { LogMiddlewareHandlerInit } from '../../../utils/axios';\nimport { AxiosLogging } from '../../isomorphic/utils/axios-logging';\n\n/**\n * Провайдер обработчика логирования axios.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик логирования.\n */\nexport function provideAxiosLogHandler(resolve: Resolve): LogMiddlewareHandlerInit {\n const logger = resolve(KnownToken.logger);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return data => {\n const logHandler = new AxiosLogging(logger, data);\n\n // ВАЖНО: отключаем логирование если запрос прерван\n logHandler.disabled = () => abortController.signal.aborted;\n\n return logHandler;\n };\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;AAE5C,SAASC,YAAY,QAAQ,yCAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAA4B;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACH,UAAU,CAACI,MAAM,CAAC;EACzC,MAAMC,eAAe,GAAGF,OAAO,CAACH,UAAU,CAACM,IAAI,CAACC,KAAK,CAACF,eAAe,CAAC;EAEtE,OAAOG,IAAI,IAAI;IACb,MAAMC,UAAU,GAAG,IAAIR,YAAY,CAACG,MAAM,EAAEI,IAAI,CAAC;;IAEjD;IACAC,UAAU,CAACC,QAAQ,GAAG,MAAML,eAAe,CAACM,MAAM,CAACC,OAAO;IAE1D,OAAOH,UAAU;EACnB,CAAC;AACH"}
1
+ {"version":3,"file":"axios-log-handler.js","names":["KnownToken","AxiosLogging","provideAxiosLogHandler","resolve","logger","abortController","Http","Fetch","data","logHandler","disabled","signal","aborted"],"sources":["../../../../../src/preset/node-handler/providers/axios-log-handler.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { LogMiddlewareHandlerInit } from '../../../utils/axios';\nimport { AxiosLogging } from '../../isomorphic/utils/axios-logging';\n\n/**\n * Провайдер обработчика логирования axios.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик логирования.\n */\nexport function provideAxiosLogHandler(resolve: Resolve): LogMiddlewareHandlerInit {\n const logger = resolve(KnownToken.logger);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return data => {\n const logHandler = new AxiosLogging(logger, data);\n\n // ВАЖНО: отключаем логирование если запрос прерван\n logHandler.disabled = () => abortController.signal.aborted;\n\n return logHandler;\n };\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;AAE5C,SAASC,YAAY,QAAQ,yCAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAA4B;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACH,UAAU,CAACI,MAAM,CAAC;EACzC,MAAMC,eAAe,GAAGF,OAAO,CAACH,UAAU,CAACM,IAAI,CAACC,KAAK,CAACF,eAAe,CAAC;EAEtE,OAAOG,IAAI,IAAI;IACb,MAAMC,UAAU,GAAG,IAAIR,YAAY,CAACG,MAAM,EAAEI,IAAI,CAAC;;IAEjD;IACAC,UAAU,CAACC,QAAQ,GAAG,MAAML,eAAe,CAACM,MAAM,CAACC,OAAO;IAE1D,OAAOH,UAAU;EACnB,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"axios-middleware.js","names":["KnownToken","HttpStatus","axiosTracingMiddleware","logMiddleware","getForwardedHeaders","provideAxiosMiddleware","resolve","appConfig","Config","base","tracer","Tracing","context","ExpressHandler","logHandler","Axios","Middleware","Log","handler","abortController","Http","Fetch","config","next","headers","req","innerController","AbortController","signal","addEventListener","abort","once","axiosMiddleware","res","locals","tracing","rootContext"],"sources":["../../../../../src/preset/node-handler/providers/axios-middleware.ts"],"sourcesContent":["import { Middleware } from 'middleware-axios';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { HttpStatus } from '../../isomorphic/utils/http-status';\nimport { axiosTracingMiddleware } from '../../node/utils/axios-tracing-middleware';\nimport { logMiddleware } from '../../../utils/axios';\nimport { getForwardedHeaders } from '../../node/utils/get-forwarded-headers';\n\n/**\n * Провайдер фабрики http-клиентов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Фабрика.\n */\nexport function provideAxiosMiddleware(resolve: Resolve): Middleware<any>[] {\n const appConfig = resolve(KnownToken.Config.base);\n const tracer = resolve(KnownToken.Tracing.tracer);\n const context = resolve(KnownToken.ExpressHandler.context);\n const logHandler = resolve(KnownToken.Axios.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // пробрасываемые заголовки по соглашению\n async (config, next) => {\n await next({\n ...config,\n headers: {\n ...getForwardedHeaders(appConfig, context.req),\n\n // ВАЖНО: заголовки из конфига важнее, поэтому идут в конце\n ...config.headers,\n },\n });\n },\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n async (config, next) => {\n const innerController = new AbortController();\n\n abortController.signal.addEventListener(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n config.signal?.addEventListener?.(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n await next({ ...config, signal: innerController.signal });\n },\n\n HttpStatus.axiosMiddleware(),\n axiosTracingMiddleware(tracer, context.res.locals.tracing.rootContext),\n logMiddleware(logHandler),\n ];\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,UAAU,QAAQ,uCAAoC;AAC/D,SAASC,sBAAsB,QAAQ,8CAA2C;AAClF,SAASC,aAAa,QAAQ,iCAAsB;AACpD,SAASC,mBAAmB,QAAQ,2CAAwC;;AAE5E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAqB;EAC1E,MAAMC,SAAS,GAAGD,OAAO,CAACN,UAAU,CAACQ,MAAM,CAACC,IAAI,CAAC;EACjD,MAAMC,MAAM,GAAGJ,OAAO,CAACN,UAAU,CAACW,OAAO,CAACD,MAAM,CAAC;EACjD,MAAME,OAAO,GAAGN,OAAO,CAACN,UAAU,CAACa,cAAc,CAACD,OAAO,CAAC;EAC1D,MAAME,UAAU,GAAGR,OAAO,CAACN,UAAU,CAACe,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACnE,MAAMC,eAAe,GAAGb,OAAO,CAACN,UAAU,CAACoB,IAAI,CAACC,KAAK,CAACF,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,OAAOG,MAAM,EAAEC,IAAI,KAAK;IACtB,MAAMA,IAAI,CAAC;MACT,GAAGD,MAAM;MACTE,OAAO,EAAE;QACP,GAAGpB,mBAAmB,CAACG,SAAS,EAAEK,OAAO,CAACa,GAAG,CAAC;QAE9C;QACA,GAAGH,MAAM,CAACE;MACZ;IACF,CAAC,CAAC;EACJ,CAAC;EAED;EACA,OAAOF,MAAM,EAAEC,IAAI,KAAK;IACtB,MAAMG,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;IAE7CR,eAAe,CAACS,MAAM,CAACC,gBAAgB,CACrC,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAEDT,MAAM,CAACM,MAAM,EAAEC,gBAAgB,GAC7B,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAED,MAAMR,IAAI,CAAC;MAAE,GAAGD,MAAM;MAAEM,MAAM,EAAEF,eAAe,CAACE;IAAO,CAAC,CAAC;EAC3D,CAAC,EAED3B,UAAU,CAAC+B,eAAe,CAAC,CAAC,EAC5B9B,sBAAsB,CAACQ,MAAM,EAAEE,OAAO,CAACqB,GAAG,CAACC,MAAM,CAACC,OAAO,CAACC,WAAW,CAAC,EACtEjC,aAAa,CAACW,UAAU,CAAC,CAC1B;AACH"}
1
+ {"version":3,"file":"axios-middleware.js","names":["KnownToken","HttpStatus","axiosTracingMiddleware","logMiddleware","getForwardedHeaders","provideAxiosMiddleware","resolve","appConfig","Config","base","tracer","Tracing","context","ExpressHandler","logHandler","Axios","Middleware","Log","handler","abortController","Http","Fetch","config","next","headers","req","innerController","AbortController","signal","addEventListener","abort","once","axiosMiddleware","res","locals","tracing","rootContext"],"sources":["../../../../../src/preset/node-handler/providers/axios-middleware.ts"],"sourcesContent":["import { Middleware } from 'middleware-axios';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { HttpStatus } from '../../isomorphic/utils/http-status';\nimport { axiosTracingMiddleware } from '../../node/utils/axios-tracing-middleware';\nimport { logMiddleware } from '../../../utils/axios';\nimport { getForwardedHeaders } from '../../node/utils/get-forwarded-headers';\n\n/**\n * Провайдер фабрики http-клиентов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Фабрика.\n */\nexport function provideAxiosMiddleware(resolve: Resolve): Middleware<any>[] {\n const appConfig = resolve(KnownToken.Config.base);\n const tracer = resolve(KnownToken.Tracing.tracer);\n const context = resolve(KnownToken.ExpressHandler.context);\n const logHandler = resolve(KnownToken.Axios.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // пробрасываемые заголовки по соглашению\n async (config, next) => {\n await next({\n ...config,\n headers: {\n ...getForwardedHeaders(appConfig, context.req),\n\n // ВАЖНО: заголовки из конфига важнее, поэтому идут в конце\n ...config.headers,\n },\n });\n },\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n async (config, next) => {\n const innerController = new AbortController();\n\n abortController.signal.addEventListener(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n config.signal?.addEventListener?.(\n 'abort',\n () => {\n innerController.abort();\n },\n { once: true },\n );\n\n await next({ ...config, signal: innerController.signal });\n },\n\n HttpStatus.axiosMiddleware(),\n axiosTracingMiddleware(tracer, context.res.locals.tracing.rootContext),\n logMiddleware(logHandler),\n ];\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,UAAU,QAAQ,uCAAoC;AAC/D,SAASC,sBAAsB,QAAQ,8CAA2C;AAClF,SAASC,aAAa,QAAQ,iCAAsB;AACpD,SAASC,mBAAmB,QAAQ,2CAAwC;;AAE5E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAqB;EAC1E,MAAMC,SAAS,GAAGD,OAAO,CAACN,UAAU,CAACQ,MAAM,CAACC,IAAI,CAAC;EACjD,MAAMC,MAAM,GAAGJ,OAAO,CAACN,UAAU,CAACW,OAAO,CAACD,MAAM,CAAC;EACjD,MAAME,OAAO,GAAGN,OAAO,CAACN,UAAU,CAACa,cAAc,CAACD,OAAO,CAAC;EAC1D,MAAME,UAAU,GAAGR,OAAO,CAACN,UAAU,CAACe,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACnE,MAAMC,eAAe,GAAGb,OAAO,CAACN,UAAU,CAACoB,IAAI,CAACC,KAAK,CAACF,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,OAAOG,MAAM,EAAEC,IAAI,KAAK;IACtB,MAAMA,IAAI,CAAC;MACT,GAAGD,MAAM;MACTE,OAAO,EAAE;QACP,GAAGpB,mBAAmB,CAACG,SAAS,EAAEK,OAAO,CAACa,GAAG,CAAC;QAE9C;QACA,GAAGH,MAAM,CAACE;MACZ;IACF,CAAC,CAAC;EACJ,CAAC;EAED;EACA,OAAOF,MAAM,EAAEC,IAAI,KAAK;IACtB,MAAMG,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;IAE7CR,eAAe,CAACS,MAAM,CAACC,gBAAgB,CACrC,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAEDT,MAAM,CAACM,MAAM,EAAEC,gBAAgB,GAC7B,OAAO,EACP,MAAM;MACJH,eAAe,CAACI,KAAK,CAAC,CAAC;IACzB,CAAC,EACD;MAAEC,IAAI,EAAE;IAAK,CACf,CAAC;IAED,MAAMR,IAAI,CAAC;MAAE,GAAGD,MAAM;MAAEM,MAAM,EAAEF,eAAe,CAACE;IAAO,CAAC,CAAC;EAC3D,CAAC,EAED3B,UAAU,CAAC+B,eAAe,CAAC,CAAC,EAC5B9B,sBAAsB,CAACQ,MAAM,EAAEE,OAAO,CAACqB,GAAG,CAACC,MAAM,CAACC,OAAO,CAACC,WAAW,CAAC,EACtEjC,aAAa,CAACW,UAAU,CAAC,CAC1B;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-middleware.js","names":["defaultHeaders","KnownToken","getFetchErrorLogging","getFetchExtraAborting","getFetchLogging","getFetchTracing","getForwardedHeaders","provideFetchMiddleware","resolve","config","Config","base","tracer","Tracing","context","ExpressHandler","logHandler","Http","Fetch","Middleware","Log","handler","abortController","req","res","locals","tracing","rootContext"],"sources":["../../../../../src/preset/node-handler/providers/fetch-middleware.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { Middleware, defaultHeaders } from '../../../http';\nimport { KnownToken } from '../../../tokens';\nimport { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';\nimport { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';\nimport { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';\nimport { getFetchTracing } from '../../node/utils/get-fetch-tracing';\nimport { getForwardedHeaders } from '../../node/utils/get-forwarded-headers';\n\n/**\n * Провайдер промежуточных слоев для fetch.\n * @param resolve Функция для получения зависимости по токену.\n * @return Массив промежуточных слоев.\n */\nexport function provideFetchMiddleware(resolve: Resolve): Middleware[] {\n const config = resolve(KnownToken.Config.base);\n const tracer = resolve(KnownToken.Tracing.tracer);\n const context = resolve(KnownToken.ExpressHandler.context);\n const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getFetchErrorLogging(logHandler),\n\n // пробрасываемые заголовки по соглашению\n defaultHeaders(getForwardedHeaders(config, context.req)),\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n getFetchExtraAborting(abortController),\n\n getFetchTracing(tracer, context.res.locals.tracing.rootContext),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getFetchLogging(logHandler),\n ];\n}\n"],"mappings":"AACA,SAAqBA,cAAc,QAAQ,0BAAe;AAC1D,SAASC,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,oBAAoB,QAAQ,mDAAgD;AACrF,SAASC,qBAAqB,QAAQ,oDAAiD;AACvF,SAASC,eAAe,QAAQ,6CAA0C;AAC1E,SAASC,eAAe,QAAQ,uCAAoC;AACpE,SAASC,mBAAmB,QAAQ,2CAAwC;;AAE5E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAgB;EACrE,MAAMC,MAAM,GAAGD,OAAO,CAACP,UAAU,CAACS,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGJ,OAAO,CAACP,UAAU,CAACY,OAAO,CAACD,MAAM,CAAC;EACjD,MAAME,OAAO,GAAGN,OAAO,CAACP,UAAU,CAACc,cAAc,CAACD,OAAO,CAAC;EAC1D,MAAME,UAAU,GAAGR,OAAO,CAACP,UAAU,CAACgB,IAAI,CAACC,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACxE,MAAMC,eAAe,GAAGd,OAAO,CAACP,UAAU,CAACgB,IAAI,CAACC,KAAK,CAACI,eAAe,CAAC;EAEtE,OAAO;EACL;EACApB,oBAAoB,CAACc,UAAU,CAAC;EAEhC;EACAhB,cAAc,CAACM,mBAAmB,CAACG,MAAM,EAAEK,OAAO,CAACS,GAAG,CAAC,CAAC;EAExD;EACApB,qBAAqB,CAACmB,eAAe,CAAC,EAEtCjB,eAAe,CAACO,MAAM,EAAEE,OAAO,CAACU,GAAG,CAACC,MAAM,CAACC,OAAO,CAACC,WAAW,CAAC;EAE/D;EACAvB,eAAe,CAACY,UAAU,CAAC,CAC5B;AACH"}
1
+ {"version":3,"file":"fetch-middleware.js","names":["defaultHeaders","KnownToken","getFetchErrorLogging","getFetchExtraAborting","getFetchLogging","getFetchTracing","getForwardedHeaders","provideFetchMiddleware","resolve","config","Config","base","tracer","Tracing","context","ExpressHandler","logHandler","Http","Fetch","Middleware","Log","handler","abortController","req","res","locals","tracing","rootContext"],"sources":["../../../../../src/preset/node-handler/providers/fetch-middleware.ts"],"sourcesContent":["import { Resolve } from '../../../di';\nimport { Middleware, defaultHeaders } from '../../../http';\nimport { KnownToken } from '../../../tokens';\nimport { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';\nimport { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';\nimport { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';\nimport { getFetchTracing } from '../../node/utils/get-fetch-tracing';\nimport { getForwardedHeaders } from '../../node/utils/get-forwarded-headers';\n\n/**\n * Провайдер промежуточных слоев для fetch.\n * @param resolve Функция для получения зависимости по токену.\n * @return Массив промежуточных слоев.\n */\nexport function provideFetchMiddleware(resolve: Resolve): Middleware[] {\n const config = resolve(KnownToken.Config.base);\n const tracer = resolve(KnownToken.Tracing.tracer);\n const context = resolve(KnownToken.ExpressHandler.context);\n const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getFetchErrorLogging(logHandler),\n\n // пробрасываемые заголовки по соглашению\n defaultHeaders(getForwardedHeaders(config, context.req)),\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n getFetchExtraAborting(abortController),\n\n getFetchTracing(tracer, context.res.locals.tracing.rootContext),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getFetchLogging(logHandler),\n ];\n}\n"],"mappings":"AACA,SAAqBA,cAAc,QAAQ,0BAAe;AAC1D,SAASC,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,oBAAoB,QAAQ,mDAAgD;AACrF,SAASC,qBAAqB,QAAQ,oDAAiD;AACvF,SAASC,eAAe,QAAQ,6CAA0C;AAC1E,SAASC,eAAe,QAAQ,uCAAoC;AACpE,SAASC,mBAAmB,QAAQ,2CAAwC;;AAE5E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAgB;EACrE,MAAMC,MAAM,GAAGD,OAAO,CAACP,UAAU,CAACS,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGJ,OAAO,CAACP,UAAU,CAACY,OAAO,CAACD,MAAM,CAAC;EACjD,MAAME,OAAO,GAAGN,OAAO,CAACP,UAAU,CAACc,cAAc,CAACD,OAAO,CAAC;EAC1D,MAAME,UAAU,GAAGR,OAAO,CAACP,UAAU,CAACgB,IAAI,CAACC,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACxE,MAAMC,eAAe,GAAGd,OAAO,CAACP,UAAU,CAACgB,IAAI,CAACC,KAAK,CAACI,eAAe,CAAC;EAEtE,OAAO;EACL;EACApB,oBAAoB,CAACc,UAAU,CAAC;EAEhC;EACAhB,cAAc,CAACM,mBAAmB,CAACG,MAAM,EAAEK,OAAO,CAACS,GAAG,CAAC,CAAC;EAExD;EACApB,qBAAqB,CAACmB,eAAe,CAAC,EAEtCjB,eAAe,CAACO,MAAM,EAAEE,OAAO,CAACU,GAAG,CAACC,MAAM,CAACC,OAAO,CAACC,WAAW,CAAC;EAE/D;EACAvB,eAAe,CAACY,UAAU,CAAC,CAC5B;AACH","ignoreList":[]}