@sima-land/isomorph 11.0.0-alpha.44 → 11.0.0-alpha.45

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 (791) hide show
  1. package/dist/cjs/di/application.js +3 -3
  2. package/dist/cjs/di/application.js.map +1 -1
  3. package/dist/cjs/http/errors.js +11 -3
  4. package/dist/cjs/http/errors.js.map +1 -1
  5. package/dist/cjs/http/index.js +7 -0
  6. package/dist/cjs/http/index.js.map +1 -1
  7. package/dist/cjs/http/types.js.map +1 -1
  8. package/dist/cjs/http/utils.js +80 -0
  9. package/dist/cjs/http/utils.js.map +1 -0
  10. package/dist/cjs/package.json +8 -6
  11. package/dist/cjs/preset/bun/index.js +79 -0
  12. package/dist/cjs/preset/bun/index.js.map +1 -0
  13. package/dist/cjs/preset/bun/providers/config-source.js +13 -0
  14. package/dist/cjs/preset/bun/providers/config-source.js.map +1 -0
  15. package/dist/cjs/preset/bun/providers/fetch-middleware.js +13 -0
  16. package/dist/cjs/preset/bun/providers/fetch-middleware.js.map +1 -0
  17. package/dist/cjs/preset/bun/providers/log-handler-sentry.js +24 -0
  18. package/dist/cjs/preset/bun/providers/log-handler-sentry.js.map +1 -0
  19. package/dist/cjs/preset/bun/providers/logger.js +18 -0
  20. package/dist/cjs/preset/bun/providers/logger.js.map +1 -0
  21. package/dist/cjs/preset/bun/providers/serve-metrics.js +25 -0
  22. package/dist/cjs/preset/bun/providers/serve-metrics.js.map +1 -0
  23. package/dist/cjs/preset/bun/providers/serve-middleware.js +29 -0
  24. package/dist/cjs/preset/bun/providers/serve-middleware.js.map +1 -0
  25. package/dist/cjs/preset/bun/providers/serve.js +33 -0
  26. package/dist/cjs/preset/bun/providers/serve.js.map +1 -0
  27. package/dist/cjs/preset/bun/providers/service-routes.js +16 -0
  28. package/dist/cjs/preset/bun/providers/service-routes.js.map +1 -0
  29. package/dist/cjs/preset/bun/utils/get-stats-handler.js +30 -0
  30. package/dist/cjs/preset/bun/utils/get-stats-handler.js.map +1 -0
  31. package/dist/cjs/preset/bun-handler/index.js +66 -0
  32. package/dist/cjs/preset/bun-handler/index.js.map +1 -0
  33. package/dist/cjs/preset/bun-handler/providers/accept-type.js +24 -0
  34. package/dist/cjs/preset/bun-handler/providers/accept-type.js.map +1 -0
  35. package/dist/cjs/preset/bun-handler/providers/cookie-store.js +15 -0
  36. package/dist/cjs/preset/bun-handler/providers/cookie-store.js.map +1 -0
  37. package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js +31 -0
  38. package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js.map +1 -0
  39. package/dist/cjs/preset/bun-handler/providers/handler-main.js +93 -0
  40. package/dist/cjs/preset/bun-handler/providers/handler-main.js.map +1 -0
  41. package/dist/cjs/preset/bun-handler/providers/specific-params.js +19 -0
  42. package/dist/cjs/preset/bun-handler/providers/specific-params.js.map +1 -0
  43. package/dist/cjs/preset/isomorphic/index.js +63 -0
  44. package/dist/cjs/preset/isomorphic/index.js.map +1 -1
  45. package/dist/cjs/preset/isomorphic/providers/abort-controller.js +14 -0
  46. package/dist/cjs/preset/isomorphic/providers/abort-controller.js.map +1 -0
  47. package/dist/cjs/preset/isomorphic/providers/axios-factory.js +24 -0
  48. package/dist/cjs/preset/isomorphic/providers/axios-factory.js.map +1 -0
  49. package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js +18 -0
  50. package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js.map +1 -0
  51. package/dist/cjs/preset/isomorphic/providers/base-config.js +18 -0
  52. package/dist/cjs/preset/isomorphic/providers/base-config.js.map +1 -0
  53. package/dist/cjs/preset/isomorphic/providers/fetch.js +18 -0
  54. package/dist/cjs/preset/isomorphic/providers/fetch.js.map +1 -0
  55. package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js +26 -0
  56. package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -0
  57. package/dist/cjs/preset/isomorphic/types.js.map +1 -1
  58. package/dist/cjs/preset/isomorphic/utils/axios-logging.js +147 -0
  59. package/dist/cjs/preset/isomorphic/utils/axios-logging.js.map +1 -0
  60. package/dist/cjs/preset/isomorphic/utils/disableable.js +32 -0
  61. package/dist/cjs/preset/isomorphic/utils/disableable.js.map +1 -0
  62. package/dist/cjs/preset/isomorphic/utils/display-url.js +32 -0
  63. package/dist/cjs/preset/isomorphic/utils/display-url.js.map +1 -0
  64. package/dist/cjs/preset/isomorphic/utils/fetch-logging.js +84 -0
  65. package/dist/cjs/preset/isomorphic/utils/fetch-logging.js.map +1 -0
  66. package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js +21 -0
  67. package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -0
  68. package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js +31 -0
  69. package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -0
  70. package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js +25 -0
  71. package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js.map +1 -0
  72. package/dist/cjs/preset/isomorphic/utils/hide-first-id.js +20 -0
  73. package/dist/cjs/preset/isomorphic/utils/hide-first-id.js.map +1 -0
  74. package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js +46 -0
  75. package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js.map +1 -0
  76. package/dist/cjs/preset/isomorphic/utils/http-status.js +70 -0
  77. package/dist/cjs/preset/isomorphic/utils/http-status.js.map +1 -0
  78. package/dist/cjs/preset/isomorphic/utils/saga-logging.js +54 -0
  79. package/dist/cjs/preset/isomorphic/utils/saga-logging.js.map +1 -0
  80. package/dist/cjs/preset/isomorphic/utils/severity-from-status.js +30 -0
  81. package/dist/cjs/preset/isomorphic/utils/severity-from-status.js.map +1 -0
  82. package/dist/cjs/preset/node/index.js +93 -7
  83. package/dist/cjs/preset/node/index.js.map +1 -1
  84. package/dist/cjs/preset/node/providers/config-source.js +29 -0
  85. package/dist/cjs/preset/node/providers/config-source.js.map +1 -0
  86. package/dist/cjs/preset/node/providers/express-error-middleware.js +15 -0
  87. package/dist/cjs/preset/node/providers/express-error-middleware.js.map +1 -0
  88. package/dist/cjs/preset/node/providers/express-factory.js +16 -0
  89. package/dist/cjs/preset/node/providers/express-factory.js.map +1 -0
  90. package/dist/cjs/preset/node/providers/express-log-middleware.js +45 -0
  91. package/dist/cjs/preset/node/providers/express-log-middleware.js.map +1 -0
  92. package/dist/cjs/preset/node/providers/express-metrics-middleware.js +60 -0
  93. package/dist/cjs/preset/node/providers/express-metrics-middleware.js.map +1 -0
  94. package/dist/cjs/preset/node/providers/express-request-middleware.js +15 -0
  95. package/dist/cjs/preset/node/providers/express-request-middleware.js.map +1 -0
  96. package/dist/cjs/preset/node/providers/express-tracing-middleware.js +56 -0
  97. package/dist/cjs/preset/node/providers/express-tracing-middleware.js.map +1 -0
  98. package/dist/cjs/preset/node/providers/log-handler-pino.js +32 -0
  99. package/dist/cjs/preset/node/providers/log-handler-pino.js.map +1 -0
  100. package/dist/cjs/preset/node/providers/log-handler-sentry.js +31 -0
  101. package/dist/cjs/preset/node/providers/log-handler-sentry.js.map +1 -0
  102. package/dist/cjs/preset/node/providers/logger.js +23 -0
  103. package/dist/cjs/preset/node/providers/logger.js.map +1 -0
  104. package/dist/cjs/preset/node/providers/metrics-http-app.js +26 -0
  105. package/dist/cjs/preset/node/providers/metrics-http-app.js.map +1 -0
  106. package/dist/cjs/preset/node/providers/span-exporter.js +21 -0
  107. package/dist/cjs/preset/node/providers/span-exporter.js.map +1 -0
  108. package/dist/cjs/preset/node/providers/tracer-provider-resource.js +26 -0
  109. package/dist/cjs/preset/node/providers/tracer-provider-resource.js.map +1 -0
  110. package/dist/cjs/preset/node/providers/tracer-provider.js +27 -0
  111. package/dist/cjs/preset/node/providers/tracer-provider.js.map +1 -0
  112. package/dist/cjs/preset/node/providers/tracer.js +18 -0
  113. package/dist/cjs/preset/node/providers/tracer.js.map +1 -0
  114. package/dist/cjs/preset/node/types.js.map +1 -1
  115. package/dist/cjs/preset/node/{node/utils/http-client/index.js → utils/axios-tracing-middleware.js} +11 -52
  116. package/dist/cjs/preset/node/utils/axios-tracing-middleware.js.map +1 -0
  117. package/dist/cjs/preset/node/utils/emitter-as-target.js +52 -0
  118. package/dist/cjs/preset/node/utils/emitter-as-target.js.map +1 -0
  119. package/dist/cjs/preset/node/{node/utils/http-server/index.js → utils/get-client-ip.js} +2 -2
  120. package/dist/cjs/preset/node/utils/get-client-ip.js.map +1 -0
  121. package/dist/cjs/preset/node/utils/get-forwarded-headers.js +36 -0
  122. package/dist/cjs/preset/node/utils/get-forwarded-headers.js.map +1 -0
  123. package/dist/cjs/preset/node/utils/get-page-response-format.js +20 -0
  124. package/dist/cjs/preset/node/utils/get-page-response-format.js.map +1 -0
  125. package/dist/cjs/preset/node/utils/handler-provider.js +29 -0
  126. package/dist/cjs/preset/node/utils/handler-provider.js.map +1 -0
  127. package/dist/cjs/preset/node-handler/index.js +73 -0
  128. package/dist/cjs/preset/node-handler/index.js.map +1 -0
  129. package/dist/cjs/preset/node-handler/providers/accepts-type.js +17 -0
  130. package/dist/cjs/preset/node-handler/providers/accepts-type.js.map +1 -0
  131. package/dist/cjs/preset/node-handler/providers/axios-log-handler.js +25 -0
  132. package/dist/cjs/preset/node-handler/providers/axios-log-handler.js.map +1 -0
  133. package/dist/cjs/preset/node-handler/providers/axios-middleware.js +55 -0
  134. package/dist/cjs/preset/node-handler/providers/axios-middleware.js.map +1 -0
  135. package/dist/cjs/preset/node-handler/providers/cookie-store.js +18 -0
  136. package/dist/cjs/preset/node-handler/providers/cookie-store.js.map +1 -0
  137. package/dist/cjs/preset/node-handler/providers/fetch-middleware.js +36 -0
  138. package/dist/cjs/preset/node-handler/providers/fetch-middleware.js.map +1 -0
  139. package/dist/cjs/preset/node-handler/providers/handler-main.js +79 -0
  140. package/dist/cjs/preset/node-handler/providers/handler-main.js.map +1 -0
  141. package/dist/cjs/preset/node-handler/providers/response-events.js +18 -0
  142. package/dist/cjs/preset/node-handler/providers/response-events.js.map +1 -0
  143. package/dist/cjs/preset/node-handler/providers/specific-params.js +28 -0
  144. package/dist/cjs/preset/node-handler/providers/specific-params.js.map +1 -0
  145. package/dist/cjs/preset/server/constants.js +21 -0
  146. package/dist/cjs/preset/server/constants.js.map +1 -0
  147. package/dist/cjs/preset/server/index.js +89 -0
  148. package/dist/cjs/preset/server/index.js.map +1 -0
  149. package/dist/cjs/preset/server/providers/element-to-string.js +24 -0
  150. package/dist/cjs/preset/server/providers/element-to-string.js.map +1 -0
  151. package/dist/cjs/preset/server/providers/fetch-log-handler.js +23 -0
  152. package/dist/cjs/preset/server/providers/fetch-log-handler.js.map +1 -0
  153. package/dist/cjs/preset/server/providers/format-page-response.js +68 -0
  154. package/dist/cjs/preset/server/providers/format-page-response.js.map +1 -0
  155. package/dist/cjs/preset/server/providers/known-http-api-hosts.js +24 -0
  156. package/dist/cjs/preset/server/providers/known-http-api-hosts.js.map +1 -0
  157. package/dist/cjs/preset/server/providers/page-helmet.js +21 -0
  158. package/dist/cjs/preset/server/providers/page-helmet.js.map +1 -0
  159. package/dist/cjs/preset/server/providers/page-render.js +21 -0
  160. package/dist/cjs/preset/server/providers/page-render.js.map +1 -0
  161. package/dist/cjs/preset/server/providers/response-events.js +17 -0
  162. package/dist/cjs/preset/server/providers/response-events.js.map +1 -0
  163. package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js +18 -0
  164. package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js.map +1 -0
  165. package/dist/cjs/preset/server/types.js +6 -0
  166. package/dist/cjs/preset/server/types.js.map +1 -0
  167. package/dist/cjs/preset/server/utils/apply-server-middleware.js +22 -0
  168. package/dist/cjs/preset/server/utils/apply-server-middleware.js.map +1 -0
  169. package/dist/cjs/preset/server/utils/format-handler-error.js +40 -0
  170. package/dist/cjs/preset/server/utils/format-handler-error.js.map +1 -0
  171. package/dist/cjs/preset/server/utils/get-client-ip.js +16 -0
  172. package/dist/cjs/preset/server/utils/get-client-ip.js.map +1 -0
  173. package/dist/cjs/preset/server/utils/get-fetch-tracing.js +46 -0
  174. package/dist/cjs/preset/server/utils/get-fetch-tracing.js.map +1 -0
  175. package/dist/cjs/preset/server/utils/get-forwarded-headers.js +34 -0
  176. package/dist/cjs/preset/server/utils/get-forwarded-headers.js.map +1 -0
  177. package/dist/cjs/preset/server/utils/get-handler-metrics.js +43 -0
  178. package/dist/cjs/preset/server/utils/get-handler-metrics.js.map +1 -0
  179. package/dist/cjs/preset/server/utils/get-health-check.js +22 -0
  180. package/dist/cjs/preset/server/utils/get-health-check.js.map +1 -0
  181. package/dist/cjs/preset/server/utils/get-page-response-format.js +21 -0
  182. package/dist/cjs/preset/server/utils/get-page-response-format.js.map +1 -0
  183. package/dist/cjs/preset/server/utils/get-serve-error-logging.js +36 -0
  184. package/dist/cjs/preset/server/utils/get-serve-error-logging.js.map +1 -0
  185. package/dist/cjs/preset/server/utils/get-serve-logging.js +37 -0
  186. package/dist/cjs/preset/server/utils/get-serve-logging.js.map +1 -0
  187. package/dist/cjs/preset/server/utils/get-serve-measuring.js +57 -0
  188. package/dist/cjs/preset/server/utils/get-serve-measuring.js.map +1 -0
  189. package/dist/cjs/preset/server/utils/handler-provider.js +30 -0
  190. package/dist/cjs/preset/server/utils/handler-provider.js.map +1 -0
  191. package/dist/cjs/preset/{node/handler/utils/index.js → server/utils/regular-helmet.js} +2 -66
  192. package/dist/cjs/preset/server/utils/regular-helmet.js.map +1 -0
  193. package/dist/cjs/preset/server/utils/specific-extras.js +30 -0
  194. package/dist/cjs/preset/server/utils/specific-extras.js.map +1 -0
  195. package/dist/cjs/preset/web/index.js +22 -10
  196. package/dist/cjs/preset/web/index.js.map +1 -1
  197. package/dist/cjs/preset/web/providers/axios-middleware.js +19 -0
  198. package/dist/cjs/preset/web/providers/axios-middleware.js.map +1 -0
  199. package/dist/cjs/preset/web/providers/config-source.js +19 -0
  200. package/dist/cjs/preset/web/providers/config-source.js.map +1 -0
  201. package/dist/cjs/preset/web/providers/fetch-middleware.js +21 -0
  202. package/dist/cjs/preset/web/providers/fetch-middleware.js.map +1 -0
  203. package/dist/cjs/preset/web/providers/known-http-api-hosts.js +24 -0
  204. package/dist/cjs/preset/web/providers/known-http-api-hosts.js.map +1 -0
  205. package/dist/cjs/preset/web/providers/logger.js +47 -0
  206. package/dist/cjs/preset/web/providers/logger.js.map +1 -0
  207. package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js +18 -0
  208. package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js.map +1 -0
  209. package/dist/cjs/tokens.js +111 -30
  210. package/dist/cjs/tokens.js.map +1 -1
  211. package/dist/cjs/utils/express/utils/index.js.map +1 -1
  212. package/dist/esm/di/application.js +3 -3
  213. package/dist/esm/di/application.js.map +1 -1
  214. package/dist/esm/http/errors.js +11 -3
  215. package/dist/esm/http/errors.js.map +1 -1
  216. package/dist/esm/http/index.js +1 -0
  217. package/dist/esm/http/index.js.map +1 -1
  218. package/dist/esm/http/types.js.map +1 -1
  219. package/dist/esm/http/utils.js +74 -0
  220. package/dist/esm/http/utils.js.map +1 -0
  221. package/dist/esm/package.json +8 -6
  222. package/dist/esm/preset/bun/index.js +62 -0
  223. package/dist/esm/preset/bun/index.js.map +1 -0
  224. package/dist/esm/preset/bun/providers/config-source.js +6 -0
  225. package/dist/esm/preset/bun/providers/config-source.js.map +1 -0
  226. package/dist/esm/preset/bun/providers/fetch-middleware.js +7 -0
  227. package/dist/esm/preset/bun/providers/fetch-middleware.js.map +1 -0
  228. package/dist/esm/preset/bun/providers/log-handler-sentry.js +18 -0
  229. package/dist/esm/preset/bun/providers/log-handler-sentry.js.map +1 -0
  230. package/dist/esm/preset/bun/providers/logger.js +12 -0
  231. package/dist/esm/preset/bun/providers/logger.js.map +1 -0
  232. package/dist/esm/preset/bun/providers/serve-metrics.js +18 -0
  233. package/dist/esm/preset/bun/providers/serve-metrics.js.map +1 -0
  234. package/dist/esm/preset/bun/providers/serve-middleware.js +23 -0
  235. package/dist/esm/preset/bun/providers/serve-middleware.js.map +1 -0
  236. package/dist/esm/preset/bun/providers/serve.js +27 -0
  237. package/dist/esm/preset/bun/providers/serve.js.map +1 -0
  238. package/dist/esm/preset/bun/providers/service-routes.js +10 -0
  239. package/dist/esm/preset/bun/providers/service-routes.js.map +1 -0
  240. package/dist/esm/preset/bun/utils/get-stats-handler.js +22 -0
  241. package/dist/esm/preset/bun/utils/get-stats-handler.js.map +1 -0
  242. package/dist/esm/preset/bun-handler/index.js +60 -0
  243. package/dist/esm/preset/bun-handler/index.js.map +1 -0
  244. package/dist/esm/preset/bun-handler/providers/accept-type.js +18 -0
  245. package/dist/esm/preset/bun-handler/providers/accept-type.js.map +1 -0
  246. package/dist/esm/preset/bun-handler/providers/cookie-store.js +9 -0
  247. package/dist/esm/preset/bun-handler/providers/cookie-store.js.map +1 -0
  248. package/dist/esm/preset/bun-handler/providers/fetch-middleware.js +25 -0
  249. package/dist/esm/preset/bun-handler/providers/fetch-middleware.js.map +1 -0
  250. package/dist/esm/preset/bun-handler/providers/handler-main.js +84 -0
  251. package/dist/esm/preset/bun-handler/providers/handler-main.js.map +1 -0
  252. package/dist/esm/preset/bun-handler/providers/specific-params.js +13 -0
  253. package/dist/esm/preset/bun-handler/providers/specific-params.js.map +1 -0
  254. package/dist/esm/preset/isomorphic/index.js +10 -1
  255. package/dist/esm/preset/isomorphic/index.js.map +1 -1
  256. package/dist/esm/preset/isomorphic/providers/abort-controller.js +8 -0
  257. package/dist/esm/preset/isomorphic/providers/abort-controller.js.map +1 -0
  258. package/dist/esm/preset/isomorphic/providers/axios-factory.js +19 -0
  259. package/dist/esm/preset/isomorphic/providers/axios-factory.js.map +1 -0
  260. package/dist/esm/preset/isomorphic/providers/axios-log-handler.js +13 -0
  261. package/dist/esm/preset/isomorphic/providers/axios-log-handler.js.map +1 -0
  262. package/dist/esm/preset/isomorphic/providers/base-config.js +13 -0
  263. package/dist/esm/preset/isomorphic/providers/base-config.js.map +1 -0
  264. package/dist/esm/preset/isomorphic/providers/fetch.js +13 -0
  265. package/dist/esm/preset/isomorphic/providers/fetch.js.map +1 -0
  266. package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js +20 -0
  267. package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -0
  268. package/dist/esm/preset/isomorphic/types.js.map +1 -1
  269. package/dist/esm/preset/isomorphic/utils/axios-logging.js +140 -0
  270. package/dist/esm/preset/isomorphic/utils/axios-logging.js.map +1 -0
  271. package/dist/esm/preset/isomorphic/utils/disableable.js +25 -0
  272. package/dist/esm/preset/isomorphic/utils/disableable.js.map +1 -0
  273. package/dist/esm/preset/isomorphic/utils/display-url.js +26 -0
  274. package/dist/esm/preset/isomorphic/utils/display-url.js.map +1 -0
  275. package/dist/esm/preset/isomorphic/utils/fetch-logging.js +78 -0
  276. package/dist/esm/preset/isomorphic/utils/fetch-logging.js.map +1 -0
  277. package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js +16 -0
  278. package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -0
  279. package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js +25 -0
  280. package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -0
  281. package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js +20 -0
  282. package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js.map +1 -0
  283. package/dist/esm/preset/isomorphic/utils/hide-first-id.js +14 -0
  284. package/dist/esm/preset/isomorphic/utils/hide-first-id.js.map +1 -0
  285. package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js +39 -0
  286. package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js.map +1 -0
  287. package/dist/esm/preset/isomorphic/utils/http-status.js +63 -0
  288. package/dist/esm/preset/isomorphic/utils/http-status.js.map +1 -0
  289. package/dist/esm/preset/isomorphic/utils/saga-logging.js +47 -0
  290. package/dist/esm/preset/isomorphic/utils/saga-logging.js.map +1 -0
  291. package/dist/esm/preset/isomorphic/utils/severity-from-status.js +24 -0
  292. package/dist/esm/preset/isomorphic/utils/severity-from-status.js.map +1 -0
  293. package/dist/esm/preset/node/index.js +82 -2
  294. package/dist/esm/preset/node/index.js.map +1 -1
  295. package/dist/esm/preset/node/providers/config-source.js +23 -0
  296. package/dist/esm/preset/node/providers/config-source.js.map +1 -0
  297. package/dist/esm/preset/node/providers/express-error-middleware.js +10 -0
  298. package/dist/esm/preset/node/providers/express-error-middleware.js.map +1 -0
  299. package/dist/esm/preset/node/providers/express-factory.js +10 -0
  300. package/dist/esm/preset/node/providers/express-factory.js.map +1 -0
  301. package/dist/esm/preset/node/providers/express-log-middleware.js +40 -0
  302. package/dist/esm/preset/node/providers/express-log-middleware.js.map +1 -0
  303. package/dist/esm/preset/node/providers/express-metrics-middleware.js +55 -0
  304. package/dist/esm/preset/node/providers/express-metrics-middleware.js.map +1 -0
  305. package/dist/esm/preset/node/providers/express-request-middleware.js +10 -0
  306. package/dist/esm/preset/node/providers/express-request-middleware.js.map +1 -0
  307. package/dist/esm/preset/node/providers/express-tracing-middleware.js +51 -0
  308. package/dist/esm/preset/node/providers/express-tracing-middleware.js.map +1 -0
  309. package/dist/esm/preset/node/providers/log-handler-pino.js +26 -0
  310. package/dist/esm/preset/node/providers/log-handler-pino.js.map +1 -0
  311. package/dist/esm/preset/node/providers/log-handler-sentry.js +24 -0
  312. package/dist/esm/preset/node/providers/log-handler-sentry.js.map +1 -0
  313. package/dist/esm/preset/node/providers/logger.js +18 -0
  314. package/dist/esm/preset/node/providers/logger.js.map +1 -0
  315. package/dist/esm/preset/node/providers/metrics-http-app.js +18 -0
  316. package/dist/esm/preset/node/providers/metrics-http-app.js.map +1 -0
  317. package/dist/esm/preset/node/providers/span-exporter.js +16 -0
  318. package/dist/esm/preset/node/providers/span-exporter.js.map +1 -0
  319. package/dist/esm/preset/node/providers/tracer-provider-resource.js +20 -0
  320. package/dist/esm/preset/node/providers/tracer-provider-resource.js.map +1 -0
  321. package/dist/esm/preset/node/providers/tracer-provider.js +22 -0
  322. package/dist/esm/preset/node/providers/tracer-provider.js.map +1 -0
  323. package/dist/esm/preset/node/providers/tracer.js +13 -0
  324. package/dist/esm/preset/node/providers/tracer.js.map +1 -0
  325. package/dist/esm/preset/node/types.js.map +1 -1
  326. package/dist/esm/preset/node/{node/utils/http-client/index.js → utils/axios-tracing-middleware.js} +8 -47
  327. package/dist/esm/preset/node/utils/axios-tracing-middleware.js.map +1 -0
  328. package/dist/esm/preset/node/utils/emitter-as-target.js +45 -0
  329. package/dist/esm/preset/node/utils/emitter-as-target.js.map +1 -0
  330. package/dist/esm/preset/node/{node/utils/http-server/index.js → utils/get-client-ip.js} +2 -2
  331. package/dist/esm/preset/node/utils/get-client-ip.js.map +1 -0
  332. package/dist/esm/preset/node/utils/get-forwarded-headers.js +31 -0
  333. package/dist/esm/preset/node/utils/get-forwarded-headers.js.map +1 -0
  334. package/dist/esm/preset/node/utils/get-page-response-format.js +14 -0
  335. package/dist/esm/preset/node/utils/get-page-response-format.js.map +1 -0
  336. package/dist/esm/preset/node/utils/handler-provider.js +24 -0
  337. package/dist/esm/preset/node/utils/handler-provider.js.map +1 -0
  338. package/dist/esm/preset/node-handler/index.js +68 -0
  339. package/dist/esm/preset/node-handler/index.js.map +1 -0
  340. package/dist/esm/preset/node-handler/providers/accepts-type.js +12 -0
  341. package/dist/esm/preset/node-handler/providers/accepts-type.js.map +1 -0
  342. package/dist/esm/preset/node-handler/providers/axios-log-handler.js +20 -0
  343. package/dist/esm/preset/node-handler/providers/axios-log-handler.js.map +1 -0
  344. package/dist/esm/preset/node-handler/providers/axios-middleware.js +50 -0
  345. package/dist/esm/preset/node-handler/providers/axios-middleware.js.map +1 -0
  346. package/dist/esm/preset/node-handler/providers/cookie-store.js +13 -0
  347. package/dist/esm/preset/node-handler/providers/cookie-store.js.map +1 -0
  348. package/dist/esm/preset/node-handler/providers/fetch-middleware.js +31 -0
  349. package/dist/esm/preset/node-handler/providers/fetch-middleware.js.map +1 -0
  350. package/dist/esm/preset/node-handler/providers/handler-main.js +71 -0
  351. package/dist/esm/preset/node-handler/providers/handler-main.js.map +1 -0
  352. package/dist/esm/preset/node-handler/providers/response-events.js +13 -0
  353. package/dist/esm/preset/node-handler/providers/response-events.js.map +1 -0
  354. package/dist/esm/preset/node-handler/providers/specific-params.js +23 -0
  355. package/dist/esm/preset/node-handler/providers/specific-params.js.map +1 -0
  356. package/dist/esm/preset/server/constants.js +15 -0
  357. package/dist/esm/preset/server/constants.js.map +1 -0
  358. package/dist/esm/preset/server/index.js +14 -0
  359. package/dist/esm/preset/server/index.js.map +1 -0
  360. package/dist/esm/preset/server/providers/element-to-string.js +19 -0
  361. package/dist/esm/preset/server/providers/element-to-string.js.map +1 -0
  362. package/dist/esm/preset/server/providers/fetch-log-handler.js +18 -0
  363. package/dist/esm/preset/server/providers/fetch-log-handler.js.map +1 -0
  364. package/dist/esm/preset/server/providers/format-page-response.js +63 -0
  365. package/dist/esm/preset/server/providers/format-page-response.js.map +1 -0
  366. package/dist/esm/preset/server/providers/known-http-api-hosts.js +19 -0
  367. package/dist/esm/preset/server/providers/known-http-api-hosts.js.map +1 -0
  368. package/dist/esm/preset/server/providers/page-helmet.js +16 -0
  369. package/dist/esm/preset/server/providers/page-helmet.js.map +1 -0
  370. package/dist/esm/preset/server/providers/page-render.js +9 -0
  371. package/dist/esm/preset/server/providers/page-render.js.map +1 -0
  372. package/dist/esm/preset/server/providers/response-events.js +12 -0
  373. package/dist/esm/preset/server/providers/response-events.js.map +1 -0
  374. package/dist/esm/preset/server/providers/ssr-bridge-server-side.js +13 -0
  375. package/dist/esm/preset/server/providers/ssr-bridge-server-side.js.map +1 -0
  376. package/dist/esm/preset/server/types.js +2 -0
  377. package/dist/esm/preset/server/types.js.map +1 -0
  378. package/dist/esm/preset/server/utils/apply-server-middleware.js +16 -0
  379. package/dist/esm/preset/server/utils/apply-server-middleware.js.map +1 -0
  380. package/dist/esm/preset/server/utils/format-handler-error.js +34 -0
  381. package/dist/esm/preset/server/utils/format-handler-error.js.map +1 -0
  382. package/dist/esm/preset/server/utils/get-client-ip.js +10 -0
  383. package/dist/esm/preset/server/utils/get-client-ip.js.map +1 -0
  384. package/dist/esm/preset/server/utils/get-fetch-tracing.js +41 -0
  385. package/dist/esm/preset/server/utils/get-fetch-tracing.js.map +1 -0
  386. package/dist/esm/preset/server/utils/get-forwarded-headers.js +29 -0
  387. package/dist/esm/preset/server/utils/get-forwarded-headers.js.map +1 -0
  388. package/dist/esm/preset/server/utils/get-handler-metrics.js +35 -0
  389. package/dist/esm/preset/server/utils/get-handler-metrics.js.map +1 -0
  390. package/dist/esm/preset/server/utils/get-health-check.js +16 -0
  391. package/dist/esm/preset/server/utils/get-health-check.js.map +1 -0
  392. package/dist/esm/preset/server/utils/get-page-response-format.js +15 -0
  393. package/dist/esm/preset/server/utils/get-page-response-format.js.map +1 -0
  394. package/dist/esm/preset/server/utils/get-serve-error-logging.js +31 -0
  395. package/dist/esm/preset/server/utils/get-serve-error-logging.js.map +1 -0
  396. package/dist/esm/preset/server/utils/get-serve-logging.js +32 -0
  397. package/dist/esm/preset/server/utils/get-serve-logging.js.map +1 -0
  398. package/dist/esm/preset/server/utils/get-serve-measuring.js +52 -0
  399. package/dist/esm/preset/server/utils/get-serve-measuring.js.map +1 -0
  400. package/dist/esm/preset/server/utils/handler-provider.js +25 -0
  401. package/dist/esm/preset/server/utils/handler-provider.js.map +1 -0
  402. package/dist/esm/preset/{node/handler/utils/index.js → server/utils/regular-helmet.js} +2 -62
  403. package/dist/esm/preset/server/utils/regular-helmet.js.map +1 -0
  404. package/dist/esm/preset/server/utils/specific-extras.js +23 -0
  405. package/dist/esm/preset/server/utils/specific-extras.js.map +1 -0
  406. package/dist/esm/preset/web/index.js +18 -6
  407. package/dist/esm/preset/web/index.js.map +1 -1
  408. package/dist/esm/preset/web/providers/axios-middleware.js +14 -0
  409. package/dist/esm/preset/web/providers/axios-middleware.js.map +1 -0
  410. package/dist/esm/preset/web/providers/config-source.js +14 -0
  411. package/dist/esm/preset/web/providers/config-source.js.map +1 -0
  412. package/dist/esm/preset/web/providers/fetch-middleware.js +16 -0
  413. package/dist/esm/preset/web/providers/fetch-middleware.js.map +1 -0
  414. package/dist/esm/preset/web/providers/known-http-api-hosts.js +19 -0
  415. package/dist/esm/preset/web/providers/known-http-api-hosts.js.map +1 -0
  416. package/dist/esm/preset/web/providers/logger.js +42 -0
  417. package/dist/esm/preset/web/providers/logger.js.map +1 -0
  418. package/dist/esm/preset/web/providers/ssr-bridge-client-side.js +13 -0
  419. package/dist/esm/preset/web/providers/ssr-bridge-client-side.js.map +1 -0
  420. package/dist/esm/tokens.js +111 -30
  421. package/dist/esm/tokens.js.map +1 -1
  422. package/dist/esm/utils/express/utils/index.js.map +1 -1
  423. package/dist/types/http/errors.d.ts +6 -2
  424. package/dist/types/http/errors.d.ts.map +1 -1
  425. package/dist/types/http/index.d.ts +2 -1
  426. package/dist/types/http/index.d.ts.map +1 -1
  427. package/dist/types/http/types.d.ts +22 -0
  428. package/dist/types/http/types.d.ts.map +1 -1
  429. package/dist/types/http/utils.d.ts +32 -0
  430. package/dist/types/http/utils.d.ts.map +1 -0
  431. package/dist/types/preset/bun/index.d.ts +10 -0
  432. package/dist/types/preset/bun/index.d.ts.map +1 -0
  433. package/dist/types/preset/bun/providers/config-source.d.ts +3 -0
  434. package/dist/types/preset/bun/providers/config-source.d.ts.map +1 -0
  435. package/dist/types/preset/bun/providers/fetch-middleware.d.ts +3 -0
  436. package/dist/types/preset/bun/providers/fetch-middleware.d.ts.map +1 -0
  437. package/dist/types/preset/bun/providers/log-handler-sentry.d.ts +3 -0
  438. package/dist/types/preset/bun/providers/log-handler-sentry.d.ts.map +1 -0
  439. package/dist/types/preset/bun/providers/logger.d.ts +4 -0
  440. package/dist/types/preset/bun/providers/logger.d.ts.map +1 -0
  441. package/dist/types/preset/bun/providers/serve-metrics.d.ts +3 -0
  442. package/dist/types/preset/bun/providers/serve-metrics.d.ts.map +1 -0
  443. package/dist/types/preset/bun/providers/serve-middleware.d.ts +4 -0
  444. package/dist/types/preset/bun/providers/serve-middleware.d.ts.map +1 -0
  445. package/dist/types/preset/bun/providers/serve.d.ts +4 -0
  446. package/dist/types/preset/bun/providers/serve.d.ts.map +1 -0
  447. package/dist/types/preset/bun/providers/service-routes.d.ts +3 -0
  448. package/dist/types/preset/bun/providers/service-routes.d.ts.map +1 -0
  449. package/dist/types/preset/bun/utils/get-stats-handler.d.ts +7 -0
  450. package/dist/types/preset/bun/utils/get-stats-handler.d.ts.map +1 -0
  451. package/dist/types/preset/bun-handler/index.d.ts +9 -0
  452. package/dist/types/preset/bun-handler/index.d.ts.map +1 -0
  453. package/dist/types/preset/bun-handler/providers/accept-type.d.ts +11 -0
  454. package/dist/types/preset/bun-handler/providers/accept-type.d.ts.map +1 -0
  455. package/dist/types/preset/bun-handler/providers/cookie-store.d.ts +4 -0
  456. package/dist/types/preset/bun-handler/providers/cookie-store.d.ts.map +1 -0
  457. package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts +4 -0
  458. package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts.map +1 -0
  459. package/dist/types/preset/bun-handler/providers/handler-main.d.ts +3 -0
  460. package/dist/types/preset/bun-handler/providers/handler-main.d.ts.map +1 -0
  461. package/dist/types/preset/bun-handler/providers/specific-params.d.ts +3 -0
  462. package/dist/types/preset/bun-handler/providers/specific-params.d.ts.map +1 -0
  463. package/dist/types/preset/isomorphic/index.d.ts +9 -0
  464. package/dist/types/preset/isomorphic/index.d.ts.map +1 -1
  465. package/dist/types/preset/isomorphic/providers/abort-controller.d.ts +6 -0
  466. package/dist/types/preset/isomorphic/providers/abort-controller.d.ts.map +1 -0
  467. package/dist/types/preset/isomorphic/providers/axios-factory.d.ts +9 -0
  468. package/dist/types/preset/isomorphic/providers/axios-factory.d.ts.map +1 -0
  469. package/dist/types/preset/isomorphic/providers/axios-log-handler.d.ts +9 -0
  470. package/dist/types/preset/isomorphic/providers/axios-log-handler.d.ts.map +1 -0
  471. package/dist/types/preset/isomorphic/providers/base-config.d.ts +9 -0
  472. package/dist/types/preset/isomorphic/providers/base-config.d.ts.map +1 -0
  473. package/dist/types/preset/isomorphic/providers/fetch.d.ts +8 -0
  474. package/dist/types/preset/isomorphic/providers/fetch.d.ts.map +1 -0
  475. package/dist/types/preset/isomorphic/providers/redux-middleware-saga.d.ts +9 -0
  476. package/dist/types/preset/isomorphic/providers/redux-middleware-saga.d.ts.map +1 -0
  477. package/dist/types/preset/isomorphic/types.d.ts +1 -1
  478. package/dist/types/preset/isomorphic/types.d.ts.map +1 -1
  479. package/dist/types/preset/isomorphic/utils/axios-logging.d.ts +34 -0
  480. package/dist/types/preset/isomorphic/utils/axios-logging.d.ts.map +1 -0
  481. package/dist/types/preset/isomorphic/utils/disableable.d.ts +18 -0
  482. package/dist/types/preset/isomorphic/utils/disableable.d.ts.map +1 -0
  483. package/dist/types/preset/isomorphic/utils/display-url.d.ts +9 -0
  484. package/dist/types/preset/isomorphic/utils/display-url.d.ts.map +1 -0
  485. package/dist/types/preset/isomorphic/utils/fetch-logging.d.ts +18 -0
  486. package/dist/types/preset/isomorphic/utils/fetch-logging.d.ts.map +1 -0
  487. package/dist/types/preset/isomorphic/utils/get-fetch-error-logging.d.ts +8 -0
  488. package/dist/types/preset/isomorphic/utils/get-fetch-error-logging.d.ts.map +1 -0
  489. package/dist/types/preset/isomorphic/utils/get-fetch-extra-aborting.d.ts +9 -0
  490. package/dist/types/preset/isomorphic/utils/get-fetch-extra-aborting.d.ts.map +1 -0
  491. package/dist/types/preset/isomorphic/utils/get-fetch-logging.d.ts +9 -0
  492. package/dist/types/preset/isomorphic/utils/get-fetch-logging.d.ts.map +1 -0
  493. package/dist/types/preset/isomorphic/utils/hide-first-id.d.ts +11 -0
  494. package/dist/types/preset/isomorphic/utils/hide-first-id.d.ts.map +1 -0
  495. package/dist/types/preset/isomorphic/utils/http-api-host-pool.d.ts +24 -0
  496. package/dist/types/preset/isomorphic/utils/http-api-host-pool.d.ts.map +1 -0
  497. package/dist/types/preset/isomorphic/utils/http-status.d.ts +29 -0
  498. package/dist/types/preset/isomorphic/utils/http-status.d.ts.map +1 -0
  499. package/dist/types/preset/isomorphic/utils/saga-logging.d.ts +30 -0
  500. package/dist/types/preset/isomorphic/utils/saga-logging.d.ts.map +1 -0
  501. package/dist/types/preset/isomorphic/utils/severity-from-status.d.ts +8 -0
  502. package/dist/types/preset/isomorphic/utils/severity-from-status.d.ts.map +1 -0
  503. package/dist/types/preset/node/index.d.ts +12 -3
  504. package/dist/types/preset/node/index.d.ts.map +1 -1
  505. package/dist/types/preset/node/providers/config-source.d.ts +7 -0
  506. package/dist/types/preset/node/providers/config-source.d.ts.map +1 -0
  507. package/dist/types/preset/node/providers/express-error-middleware.d.ts +7 -0
  508. package/dist/types/preset/node/providers/express-error-middleware.d.ts.map +1 -0
  509. package/dist/types/preset/node/providers/express-factory.d.ts +7 -0
  510. package/dist/types/preset/node/providers/express-factory.d.ts.map +1 -0
  511. package/dist/types/preset/node/providers/express-log-middleware.d.ts +9 -0
  512. package/dist/types/preset/node/providers/express-log-middleware.d.ts.map +1 -0
  513. package/dist/types/preset/node/providers/express-metrics-middleware.d.ts +9 -0
  514. package/dist/types/preset/node/providers/express-metrics-middleware.d.ts.map +1 -0
  515. package/dist/types/preset/node/providers/express-request-middleware.d.ts +7 -0
  516. package/dist/types/preset/node/providers/express-request-middleware.d.ts.map +1 -0
  517. package/dist/types/preset/node/providers/express-tracing-middleware.d.ts +9 -0
  518. package/dist/types/preset/node/providers/express-tracing-middleware.d.ts.map +1 -0
  519. package/dist/types/preset/node/providers/log-handler-pino.d.ts +9 -0
  520. package/dist/types/preset/node/providers/log-handler-pino.d.ts.map +1 -0
  521. package/dist/types/preset/node/providers/log-handler-sentry.d.ts +9 -0
  522. package/dist/types/preset/node/providers/log-handler-sentry.d.ts.map +1 -0
  523. package/dist/types/preset/node/providers/logger.d.ts +9 -0
  524. package/dist/types/preset/node/providers/logger.d.ts.map +1 -0
  525. package/dist/types/preset/node/providers/metrics-http-app.d.ts +7 -0
  526. package/dist/types/preset/node/providers/metrics-http-app.d.ts.map +1 -0
  527. package/dist/types/preset/node/providers/span-exporter.d.ts +9 -0
  528. package/dist/types/preset/node/providers/span-exporter.d.ts.map +1 -0
  529. package/dist/types/preset/node/providers/tracer-provider-resource.d.ts +9 -0
  530. package/dist/types/preset/node/providers/tracer-provider-resource.d.ts.map +1 -0
  531. package/dist/types/preset/node/providers/tracer-provider.d.ts +9 -0
  532. package/dist/types/preset/node/providers/tracer-provider.d.ts.map +1 -0
  533. package/dist/types/preset/node/providers/tracer.d.ts +9 -0
  534. package/dist/types/preset/node/providers/tracer.d.ts.map +1 -0
  535. package/dist/types/preset/node/types.d.ts +4 -4
  536. package/dist/types/preset/node/types.d.ts.map +1 -1
  537. package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts +23 -0
  538. package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts.map +1 -0
  539. package/dist/types/preset/node/utils/emitter-as-target.d.ts +18 -0
  540. package/dist/types/preset/node/utils/emitter-as-target.d.ts.map +1 -0
  541. package/dist/types/preset/node/utils/get-client-ip.d.ts +8 -0
  542. package/dist/types/preset/node/utils/get-client-ip.d.ts.map +1 -0
  543. package/dist/types/preset/node/utils/get-forwarded-headers.d.ts +10 -0
  544. package/dist/types/preset/node/utils/get-forwarded-headers.d.ts.map +1 -0
  545. package/dist/types/preset/node/utils/get-page-response-format.d.ts +9 -0
  546. package/dist/types/preset/node/utils/get-page-response-format.d.ts.map +1 -0
  547. package/dist/types/preset/node/utils/handler-provider.d.ts +9 -0
  548. package/dist/types/preset/node/utils/handler-provider.d.ts.map +1 -0
  549. package/dist/types/preset/{node/handler → node-handler}/index.d.ts +2 -3
  550. package/dist/types/preset/node-handler/index.d.ts.map +1 -0
  551. package/dist/types/preset/node-handler/providers/accepts-type.d.ts +13 -0
  552. package/dist/types/preset/node-handler/providers/accepts-type.d.ts.map +1 -0
  553. package/dist/types/preset/node-handler/providers/axios-log-handler.d.ts +9 -0
  554. package/dist/types/preset/node-handler/providers/axios-log-handler.d.ts.map +1 -0
  555. package/dist/types/preset/node-handler/providers/axios-middleware.d.ts +9 -0
  556. package/dist/types/preset/node-handler/providers/axios-middleware.d.ts.map +1 -0
  557. package/dist/types/preset/node-handler/providers/cookie-store.d.ts +9 -0
  558. package/dist/types/preset/node-handler/providers/cookie-store.d.ts.map +1 -0
  559. package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts +9 -0
  560. package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts.map +1 -0
  561. package/dist/types/preset/node-handler/providers/handler-main.d.ts +9 -0
  562. package/dist/types/preset/node-handler/providers/handler-main.d.ts.map +1 -0
  563. package/dist/types/preset/node-handler/providers/response-events.d.ts +8 -0
  564. package/dist/types/preset/node-handler/providers/response-events.d.ts.map +1 -0
  565. package/dist/types/preset/node-handler/providers/specific-params.d.ts +8 -0
  566. package/dist/types/preset/node-handler/providers/specific-params.d.ts.map +1 -0
  567. package/dist/types/preset/server/constants.d.ts +13 -0
  568. package/dist/types/preset/server/constants.d.ts.map +1 -0
  569. package/dist/types/preset/server/index.d.ts +13 -0
  570. package/dist/types/preset/server/index.d.ts.map +1 -0
  571. package/dist/types/preset/server/providers/element-to-string.d.ts +9 -0
  572. package/dist/types/preset/server/providers/element-to-string.d.ts.map +1 -0
  573. package/dist/types/preset/server/providers/fetch-log-handler.d.ts +9 -0
  574. package/dist/types/preset/server/providers/fetch-log-handler.d.ts.map +1 -0
  575. package/dist/types/preset/server/providers/format-page-response.d.ts +10 -0
  576. package/dist/types/preset/server/providers/format-page-response.d.ts.map +1 -0
  577. package/dist/types/preset/server/providers/known-http-api-hosts.d.ts +10 -0
  578. package/dist/types/preset/server/providers/known-http-api-hosts.d.ts.map +1 -0
  579. package/dist/types/preset/server/providers/page-helmet.d.ts +11 -0
  580. package/dist/types/preset/server/providers/page-helmet.d.ts.map +1 -0
  581. package/dist/types/preset/server/providers/page-render.d.ts +6 -0
  582. package/dist/types/preset/server/providers/page-render.d.ts.map +1 -0
  583. package/dist/types/preset/server/providers/response-events.d.ts +8 -0
  584. package/dist/types/preset/server/providers/response-events.d.ts.map +1 -0
  585. package/dist/types/preset/server/providers/ssr-bridge-server-side.d.ts +9 -0
  586. package/dist/types/preset/server/providers/ssr-bridge-server-side.d.ts.map +1 -0
  587. package/dist/types/preset/server/types.d.ts +28 -0
  588. package/dist/types/preset/server/types.d.ts.map +1 -0
  589. package/dist/types/preset/server/utils/apply-server-middleware.d.ts +8 -0
  590. package/dist/types/preset/server/utils/apply-server-middleware.d.ts.map +1 -0
  591. package/dist/types/preset/server/utils/format-handler-error.d.ts +18 -0
  592. package/dist/types/preset/server/utils/format-handler-error.d.ts.map +1 -0
  593. package/dist/types/preset/server/utils/get-client-ip.d.ts +7 -0
  594. package/dist/types/preset/server/utils/get-client-ip.d.ts.map +1 -0
  595. package/dist/types/preset/server/utils/get-fetch-tracing.d.ts +10 -0
  596. package/dist/types/preset/server/utils/get-fetch-tracing.d.ts.map +1 -0
  597. package/dist/types/preset/server/utils/get-forwarded-headers.d.ts +9 -0
  598. package/dist/types/preset/server/utils/get-forwarded-headers.d.ts.map +1 -0
  599. package/dist/types/preset/server/utils/get-handler-metrics.d.ts +15 -0
  600. package/dist/types/preset/server/utils/get-handler-metrics.d.ts.map +1 -0
  601. package/dist/types/preset/server/utils/get-health-check.d.ts +8 -0
  602. package/dist/types/preset/server/utils/get-health-check.d.ts.map +1 -0
  603. package/dist/types/preset/server/utils/get-page-response-format.d.ts +9 -0
  604. package/dist/types/preset/server/utils/get-page-response-format.d.ts.map +1 -0
  605. package/dist/types/preset/server/utils/get-serve-error-logging.d.ts +9 -0
  606. package/dist/types/preset/server/utils/get-serve-error-logging.d.ts.map +1 -0
  607. package/dist/types/preset/server/utils/get-serve-logging.d.ts +9 -0
  608. package/dist/types/preset/server/utils/get-serve-logging.d.ts.map +1 -0
  609. package/dist/types/preset/server/utils/get-serve-measuring.d.ts +9 -0
  610. package/dist/types/preset/server/utils/get-serve-measuring.d.ts.map +1 -0
  611. package/dist/types/preset/server/utils/handler-provider.d.ts +11 -0
  612. package/dist/types/preset/server/utils/handler-provider.d.ts.map +1 -0
  613. package/dist/types/preset/server/utils/regular-helmet.d.ts +15 -0
  614. package/dist/types/preset/server/utils/regular-helmet.d.ts.map +1 -0
  615. package/dist/types/preset/server/utils/specific-extras.d.ts +18 -0
  616. package/dist/types/preset/server/utils/specific-extras.d.ts.map +1 -0
  617. package/dist/types/preset/web/index.d.ts.map +1 -1
  618. package/dist/types/preset/web/providers/axios-middleware.d.ts +8 -0
  619. package/dist/types/preset/web/providers/axios-middleware.d.ts.map +1 -0
  620. package/dist/types/preset/web/providers/config-source.d.ts +7 -0
  621. package/dist/types/preset/web/providers/config-source.d.ts.map +1 -0
  622. package/dist/types/preset/web/providers/fetch-middleware.d.ts +8 -0
  623. package/dist/types/preset/web/providers/fetch-middleware.d.ts.map +1 -0
  624. package/dist/types/preset/web/providers/known-http-api-hosts.d.ts +10 -0
  625. package/dist/types/preset/web/providers/known-http-api-hosts.d.ts.map +1 -0
  626. package/dist/types/preset/web/providers/logger.d.ts +9 -0
  627. package/dist/types/preset/web/providers/logger.d.ts.map +1 -0
  628. package/dist/types/preset/web/providers/ssr-bridge-client-side.d.ts +9 -0
  629. package/dist/types/preset/web/providers/ssr-bridge-client-side.d.ts.map +1 -0
  630. package/dist/types/tokens.d.ts +124 -27
  631. package/dist/types/tokens.d.ts.map +1 -1
  632. package/dist/types/utils/express/utils/index.d.ts.map +1 -1
  633. package/package.json +100 -123
  634. package/dist/cjs/preset/isomorphic/constants.js +0 -14
  635. package/dist/cjs/preset/isomorphic/constants.js.map +0 -1
  636. package/dist/cjs/preset/isomorphic/providers/index.js +0 -42
  637. package/dist/cjs/preset/isomorphic/providers/index.js.map +0 -1
  638. package/dist/cjs/preset/isomorphic/utils/index.js +0 -322
  639. package/dist/cjs/preset/isomorphic/utils/index.js.map +0 -1
  640. package/dist/cjs/preset/node/handler/index.js +0 -52
  641. package/dist/cjs/preset/node/handler/index.js.map +0 -1
  642. package/dist/cjs/preset/node/handler/providers/index.js +0 -212
  643. package/dist/cjs/preset/node/handler/providers/index.js.map +0 -1
  644. package/dist/cjs/preset/node/handler/utils/index.js.map +0 -1
  645. package/dist/cjs/preset/node/node/index.js +0 -61
  646. package/dist/cjs/preset/node/node/index.js.map +0 -1
  647. package/dist/cjs/preset/node/node/providers/index.js +0 -403
  648. package/dist/cjs/preset/node/node/providers/index.js.map +0 -1
  649. package/dist/cjs/preset/node/node/utils/http-client/index.js.map +0 -1
  650. package/dist/cjs/preset/node/node/utils/http-server/index.js.map +0 -1
  651. package/dist/cjs/preset/node/node/utils/index.js +0 -20
  652. package/dist/cjs/preset/node/node/utils/index.js.map +0 -1
  653. package/dist/cjs/preset/web/providers/index.js +0 -94
  654. package/dist/cjs/preset/web/providers/index.js.map +0 -1
  655. package/dist/esm/preset/isomorphic/constants.js +0 -8
  656. package/dist/esm/preset/isomorphic/constants.js.map +0 -1
  657. package/dist/esm/preset/isomorphic/providers/index.js +0 -35
  658. package/dist/esm/preset/isomorphic/providers/index.js.map +0 -1
  659. package/dist/esm/preset/isomorphic/utils/index.js +0 -309
  660. package/dist/esm/preset/isomorphic/utils/index.js.map +0 -1
  661. package/dist/esm/preset/node/handler/index.js +0 -42
  662. package/dist/esm/preset/node/handler/index.js.map +0 -1
  663. package/dist/esm/preset/node/handler/providers/index.js +0 -194
  664. package/dist/esm/preset/node/handler/providers/index.js.map +0 -1
  665. package/dist/esm/preset/node/handler/utils/index.js.map +0 -1
  666. package/dist/esm/preset/node/node/index.js +0 -56
  667. package/dist/esm/preset/node/node/index.js.map +0 -1
  668. package/dist/esm/preset/node/node/providers/index.js +0 -378
  669. package/dist/esm/preset/node/node/providers/index.js.map +0 -1
  670. package/dist/esm/preset/node/node/utils/http-client/index.js.map +0 -1
  671. package/dist/esm/preset/node/node/utils/http-server/index.js.map +0 -1
  672. package/dist/esm/preset/node/node/utils/index.js +0 -3
  673. package/dist/esm/preset/node/node/utils/index.js.map +0 -1
  674. package/dist/esm/preset/web/providers/index.js +0 -85
  675. package/dist/esm/preset/web/providers/index.js.map +0 -1
  676. package/dist/types/preset/isomorphic/constants.d.ts +0 -8
  677. package/dist/types/preset/isomorphic/constants.d.ts.map +0 -1
  678. package/dist/types/preset/isomorphic/providers/index.d.ts +0 -23
  679. package/dist/types/preset/isomorphic/providers/index.d.ts.map +0 -1
  680. package/dist/types/preset/isomorphic/utils/index.d.ts +0 -119
  681. package/dist/types/preset/isomorphic/utils/index.d.ts.map +0 -1
  682. package/dist/types/preset/node/handler/index.d.ts.map +0 -1
  683. package/dist/types/preset/node/handler/providers/index.d.ts +0 -36
  684. package/dist/types/preset/node/handler/providers/index.d.ts.map +0 -1
  685. package/dist/types/preset/node/handler/utils/index.d.ts +0 -47
  686. package/dist/types/preset/node/handler/utils/index.d.ts.map +0 -1
  687. package/dist/types/preset/node/node/index.d.ts +0 -9
  688. package/dist/types/preset/node/node/index.d.ts.map +0 -1
  689. package/dist/types/preset/node/node/providers/index.d.ts +0 -113
  690. package/dist/types/preset/node/node/providers/index.d.ts.map +0 -1
  691. package/dist/types/preset/node/node/utils/http-client/index.d.ts +0 -42
  692. package/dist/types/preset/node/node/utils/http-client/index.d.ts.map +0 -1
  693. package/dist/types/preset/node/node/utils/http-server/index.d.ts +0 -8
  694. package/dist/types/preset/node/node/utils/http-server/index.d.ts.map +0 -1
  695. package/dist/types/preset/node/node/utils/index.d.ts +0 -3
  696. package/dist/types/preset/node/node/utils/index.d.ts.map +0 -1
  697. package/dist/types/preset/web/providers/index.d.ts +0 -36
  698. package/dist/types/preset/web/providers/index.d.ts.map +0 -1
  699. package/src/cache/index.ts +0 -1
  700. package/src/cache/types.ts +0 -34
  701. package/src/config/base.ts +0 -18
  702. package/src/config/index.ts +0 -3
  703. package/src/config/source.ts +0 -23
  704. package/src/config/types.ts +0 -25
  705. package/src/di/__test__/application.test.ts +0 -258
  706. package/src/di/__test__/container.test.ts +0 -103
  707. package/src/di/__test__/errors.test.ts +0 -56
  708. package/src/di/__test__/preset.test.ts +0 -23
  709. package/src/di/__test__/token.test.ts +0 -25
  710. package/src/di/application.ts +0 -126
  711. package/src/di/container.ts +0 -60
  712. package/src/di/errors.ts +0 -59
  713. package/src/di/index.ts +0 -6
  714. package/src/di/preset.ts +0 -32
  715. package/src/di/token.ts +0 -41
  716. package/src/di/types.ts +0 -105
  717. package/src/http/__test__/errors.test.ts +0 -35
  718. package/src/http/errors.ts +0 -42
  719. package/src/http/index.ts +0 -14
  720. package/src/http/types.ts +0 -8
  721. package/src/log/__test__/errors.test.ts +0 -13
  722. package/src/log/__test__/logger.test.ts +0 -24
  723. package/src/log/errors.ts +0 -33
  724. package/src/log/handler/pino.ts +0 -27
  725. package/src/log/handler/sentry.ts +0 -57
  726. package/src/log/index.ts +0 -12
  727. package/src/log/logger.ts +0 -30
  728. package/src/log/types.ts +0 -76
  729. package/src/preset/isomorphic/constants.ts +0 -7
  730. package/src/preset/isomorphic/index.ts +0 -7
  731. package/src/preset/isomorphic/providers/index.ts +0 -40
  732. package/src/preset/isomorphic/types.ts +0 -37
  733. package/src/preset/isomorphic/utils/__test__/index.test.ts +0 -541
  734. package/src/preset/isomorphic/utils/index.ts +0 -349
  735. package/src/preset/node/handler/index.ts +0 -46
  736. package/src/preset/node/handler/providers/index.tsx +0 -214
  737. package/src/preset/node/handler/utils/index.tsx +0 -110
  738. package/src/preset/node/index.ts +0 -3
  739. package/src/preset/node/node/index.ts +0 -73
  740. package/src/preset/node/node/providers/index.ts +0 -434
  741. package/src/preset/node/node/utils/http-client/__test__/index.test.ts +0 -232
  742. package/src/preset/node/node/utils/http-client/index.ts +0 -129
  743. package/src/preset/node/node/utils/http-server/index.ts +0 -17
  744. package/src/preset/node/node/utils/index.ts +0 -2
  745. package/src/preset/node/types.ts +0 -10
  746. package/src/preset/web/index.ts +0 -40
  747. package/src/preset/web/providers/index.ts +0 -108
  748. package/src/tokens.ts +0 -108
  749. package/src/utils/axios/index.ts +0 -12
  750. package/src/utils/axios/middleware/__test__/cookie.test.ts +0 -94
  751. package/src/utils/axios/middleware/__test__/log.test.ts +0 -121
  752. package/src/utils/axios/middleware/cookie.ts +0 -26
  753. package/src/utils/axios/middleware/log.ts +0 -52
  754. package/src/utils/axios/sauce/index.ts +0 -76
  755. package/src/utils/axios/utils/__test__/index.test.ts +0 -89
  756. package/src/utils/axios/utils/index.ts +0 -26
  757. package/src/utils/express/handler/health-check.ts +0 -13
  758. package/src/utils/express/index.ts +0 -2
  759. package/src/utils/express/utils/index.ts +0 -18
  760. package/src/utils/function.ts +0 -57
  761. package/src/utils/index.ts +0 -2
  762. package/src/utils/math.ts +0 -8
  763. package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +0 -27
  764. package/src/utils/react/error-handlers/__test__/index.test.tsx +0 -63
  765. package/src/utils/react/error-handlers/index.tsx +0 -68
  766. package/src/utils/react/index.ts +0 -3
  767. package/src/utils/redux/__test__/remote-data.test.ts +0 -172
  768. package/src/utils/redux/index.ts +0 -4
  769. package/src/utils/redux/remote-data.ts +0 -138
  770. package/src/utils/redux-saga/__test__/take-chain.test.ts +0 -141
  771. package/src/utils/redux-saga/index.ts +0 -3
  772. package/src/utils/redux-saga/middleware.ts +0 -168
  773. package/src/utils/redux-saga/take-chain.ts +0 -67
  774. package/src/utils/redux-saga/types.ts +0 -43
  775. package/src/utils/ssr/index.tsx +0 -78
  776. package/src/utils/web/analytics/__test__/data-layer.test.ts +0 -50
  777. package/src/utils/web/analytics/__test__/oko.test.ts +0 -50
  778. package/src/utils/web/analytics/data-layer.ts +0 -12
  779. package/src/utils/web/analytics/index.ts +0 -2
  780. package/src/utils/web/analytics/oko.ts +0 -14
  781. package/src/utils/web/storage/index.ts +0 -83
  782. package/src/utils/webpack/env/index.ts +0 -91
  783. package/src/utils/webpack/env/types.ts +0 -14
  784. package/src/utils/webpack/env/utils.ts +0 -53
  785. package/src/utils/webpack/index.ts +0 -7
  786. package/src/utils/webpack/module-federation/__test__/__snapshots__/utils.test.ts.snap +0 -124
  787. package/src/utils/webpack/module-federation/__test__/index.test.ts +0 -311
  788. package/src/utils/webpack/module-federation/__test__/utils.test.ts +0 -28
  789. package/src/utils/webpack/module-federation/index.ts +0 -102
  790. package/src/utils/webpack/module-federation/types.ts +0 -54
  791. package/src/utils/webpack/module-federation/utils.ts +0 -104
@@ -0,0 +1,63 @@
1
+ import { KnownToken } from "../../../tokens.js";
2
+ import { PAGE_FORMAT_PRIORITY } from "../constants.js";
3
+
4
+ /**
5
+ * Провайдер функции форматирования ответа.
6
+ * Функция форматирования вернёт данные ответа на запрос страницы в нужном формате в зависимости от заголовка Accept.
7
+ * @param resolve Резолвер.
8
+ * @return Функция форматирования.
9
+ */
10
+ export function provideFormatPageResponse(resolve) {
11
+ const config = resolve(KnownToken.Config.base);
12
+ const acceptType = resolve(KnownToken.Http.Handler.Request.acceptType);
13
+ const elementToString = resolve(KnownToken.Http.Handler.Page.elementToString);
14
+ return async (jsx, assets, meta) => {
15
+ const headers = new Headers();
16
+ let body;
17
+ switch (acceptType(PAGE_FORMAT_PRIORITY)) {
18
+ case 'json':
19
+ {
20
+ headers.set('content-type', 'application/json');
21
+ body = JSON.stringify({
22
+ markup: await elementToString(jsx),
23
+ bundle_js: assets.js,
24
+ bundle_css: assets.css,
25
+ critical_js: assets.criticalJs,
26
+ critical_css: assets.criticalCss,
27
+ meta
28
+ });
29
+ break;
30
+ }
31
+ case 'html':
32
+ default:
33
+ {
34
+ headers.set('content-type', 'text/html');
35
+ headers.set('simaland-bundle-js', assets.js);
36
+ headers.set('simaland-bundle-css', assets.css);
37
+ if (assets.criticalJs) {
38
+ headers.set('simaland-critical-js', assets.criticalJs);
39
+ }
40
+ if (assets.criticalCss) {
41
+ headers.set('simaland-critical-css', assets.criticalCss);
42
+ }
43
+ if (meta) {
44
+ headers.set('simaland-meta', JSON.stringify(meta));
45
+ }
46
+
47
+ // ВАЖНО: DOCTYPE обязательно нужен так как влияет на то как браузер будет парсить html/css
48
+ // ВАЖНО: DOCTYPE нужен только когда отдаем полноценную страницу
49
+ if (config.env === 'development') {
50
+ body = `<!DOCTYPE html>${await elementToString(jsx)}`;
51
+ } else {
52
+ body = await elementToString(jsx);
53
+ }
54
+ break;
55
+ }
56
+ }
57
+ return {
58
+ body,
59
+ headers
60
+ };
61
+ };
62
+ }
63
+ //# sourceMappingURL=format-page-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-page-response.js","names":["KnownToken","PAGE_FORMAT_PRIORITY","provideFormatPageResponse","resolve","config","Config","base","acceptType","Http","Handler","Request","elementToString","Page","jsx","assets","meta","headers","Headers","body","set","JSON","stringify","markup","bundle_js","js","bundle_css","css","critical_js","criticalJs","critical_css","criticalCss","env"],"sources":["../../../../../src/preset/server/providers/format-page-response.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport type { ConventionalJson } from '../../isomorphic';\nimport type { PageResponseFormatter } from '../types';\nimport { KnownToken } from '../../../tokens';\nimport { PAGE_FORMAT_PRIORITY } from '../constants';\n\n/**\n * Провайдер функции форматирования ответа.\n * Функция форматирования вернёт данные ответа на запрос страницы в нужном формате в зависимости от заголовка Accept.\n * @param resolve Резолвер.\n * @return Функция форматирования.\n */\nexport function provideFormatPageResponse(resolve: Resolve): PageResponseFormatter {\n const config = resolve(KnownToken.Config.base);\n const acceptType = resolve(KnownToken.Http.Handler.Request.acceptType);\n const elementToString = resolve(KnownToken.Http.Handler.Page.elementToString);\n\n return async (jsx, assets, meta) => {\n const headers = new Headers();\n let body: string;\n\n switch (acceptType(PAGE_FORMAT_PRIORITY)) {\n case 'json': {\n headers.set('content-type', 'application/json');\n\n body = JSON.stringify({\n markup: await elementToString(jsx),\n bundle_js: assets.js,\n bundle_css: assets.css,\n critical_js: assets.criticalJs,\n critical_css: assets.criticalCss,\n meta,\n } satisfies ConventionalJson);\n\n break;\n }\n\n case 'html':\n default: {\n headers.set('content-type', 'text/html');\n headers.set('simaland-bundle-js', assets.js);\n headers.set('simaland-bundle-css', assets.css);\n\n if (assets.criticalJs) {\n headers.set('simaland-critical-js', assets.criticalJs);\n }\n\n if (assets.criticalCss) {\n headers.set('simaland-critical-css', assets.criticalCss);\n }\n\n if (meta) {\n headers.set('simaland-meta', JSON.stringify(meta));\n }\n\n // ВАЖНО: DOCTYPE обязательно нужен так как влияет на то как браузер будет парсить html/css\n // ВАЖНО: DOCTYPE нужен только когда отдаем полноценную страницу\n if (config.env === 'development') {\n body = `<!DOCTYPE html>${await elementToString(jsx)}`;\n } else {\n body = await elementToString(jsx);\n }\n\n break;\n }\n }\n\n return { body, headers };\n };\n}\n"],"mappings":"AAGA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,oBAAoB,QAAQ,iBAAc;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CAACC,OAAgB,EAAyB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACH,UAAU,CAACK,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,UAAU,GAAGJ,OAAO,CAACH,UAAU,CAACQ,IAAI,CAACC,OAAO,CAACC,OAAO,CAACH,UAAU,CAAC;EACtE,MAAMI,eAAe,GAAGR,OAAO,CAACH,UAAU,CAACQ,IAAI,CAACC,OAAO,CAACG,IAAI,CAACD,eAAe,CAAC;EAE7E,OAAO,OAAOE,GAAG,EAAEC,MAAM,EAAEC,IAAI,KAAK;IAClC,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;IAC7B,IAAIC,IAAY;IAEhB,QAAQX,UAAU,CAACN,oBAAoB,CAAC;MACtC,KAAK,MAAM;QAAE;UACXe,OAAO,CAACG,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;UAE/CD,IAAI,GAAGE,IAAI,CAACC,SAAS,CAAC;YACpBC,MAAM,EAAE,MAAMX,eAAe,CAACE,GAAG,CAAC;YAClCU,SAAS,EAAET,MAAM,CAACU,EAAE;YACpBC,UAAU,EAAEX,MAAM,CAACY,GAAG;YACtBC,WAAW,EAAEb,MAAM,CAACc,UAAU;YAC9BC,YAAY,EAAEf,MAAM,CAACgB,WAAW;YAChCf;UACF,CAA4B,CAAC;UAE7B;QACF;MAEA,KAAK,MAAM;MACX;QAAS;UACPC,OAAO,CAACG,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC;UACxCH,OAAO,CAACG,GAAG,CAAC,oBAAoB,EAAEL,MAAM,CAACU,EAAE,CAAC;UAC5CR,OAAO,CAACG,GAAG,CAAC,qBAAqB,EAAEL,MAAM,CAACY,GAAG,CAAC;UAE9C,IAAIZ,MAAM,CAACc,UAAU,EAAE;YACrBZ,OAAO,CAACG,GAAG,CAAC,sBAAsB,EAAEL,MAAM,CAACc,UAAU,CAAC;UACxD;UAEA,IAAId,MAAM,CAACgB,WAAW,EAAE;YACtBd,OAAO,CAACG,GAAG,CAAC,uBAAuB,EAAEL,MAAM,CAACgB,WAAW,CAAC;UAC1D;UAEA,IAAIf,IAAI,EAAE;YACRC,OAAO,CAACG,GAAG,CAAC,eAAe,EAAEC,IAAI,CAACC,SAAS,CAACN,IAAI,CAAC,CAAC;UACpD;;UAEA;UACA;UACA,IAAIX,MAAM,CAAC2B,GAAG,KAAK,aAAa,EAAE;YAChCb,IAAI,GAAI,kBAAiB,MAAMP,eAAe,CAACE,GAAG,CAAE,EAAC;UACvD,CAAC,MAAM;YACLK,IAAI,GAAG,MAAMP,eAAe,CAACE,GAAG,CAAC;UACnC;UAEA;QACF;IACF;IAEA,OAAO;MAAEK,IAAI;MAAEF;IAAQ,CAAC;EAC1B,CAAC;AACH"}
@@ -0,0 +1,19 @@
1
+ import { KnownToken } from "../../../tokens.js";
2
+ import { HttpApiHostPool } from "../../isomorphic/utils/http-api-host-pool.js";
3
+
4
+ /**
5
+ * Провайдер известных http-хостов.
6
+ * @param resolve Функция для получения зависимости по токену.
7
+ * @return Пул известных http-хостов.
8
+ */
9
+ export function provideKnownHttpApiHosts(resolve) {
10
+ const source = resolve(KnownToken.Config.source);
11
+ return new HttpApiHostPool({
12
+ ilium: 'API_URL_ILIUM',
13
+ simaV3: 'API_URL_SIMALAND_V3',
14
+ simaV4: 'API_URL_SIMALAND_V4',
15
+ simaV6: 'API_URL_SIMALAND_V6',
16
+ chponkiV2: 'API_URL_CHPONKI_V2'
17
+ }, source);
18
+ }
19
+ //# sourceMappingURL=known-http-api-hosts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"known-http-api-hosts.js","names":["KnownToken","HttpApiHostPool","provideKnownHttpApiHosts","resolve","source","Config","ilium","simaV3","simaV4","simaV6","chponkiV2"],"sources":["../../../../../src/preset/server/providers/known-http-api-hosts.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport type { KnownHttpApiKey } from '../../isomorphic';\nimport { KnownToken } from '../../../tokens';\nimport { HttpApiHostPool } from '../../isomorphic/utils/http-api-host-pool';\n\n/**\n * Провайдер известных http-хостов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Пул известных http-хостов.\n */\nexport function provideKnownHttpApiHosts(resolve: Resolve): HttpApiHostPool<KnownHttpApiKey> {\n const source = resolve(KnownToken.Config.source);\n\n return new HttpApiHostPool(\n {\n ilium: 'API_URL_ILIUM',\n simaV3: 'API_URL_SIMALAND_V3',\n simaV4: 'API_URL_SIMALAND_V4',\n simaV6: 'API_URL_SIMALAND_V6',\n chponkiV2: 'API_URL_CHPONKI_V2',\n },\n source,\n );\n}\n"],"mappings":"AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,eAAe,QAAQ,8CAA2C;;AAE3E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAACC,OAAgB,EAAoC;EAC3F,MAAMC,MAAM,GAAGD,OAAO,CAACH,UAAU,CAACK,MAAM,CAACD,MAAM,CAAC;EAEhD,OAAO,IAAIH,eAAe,CACxB;IACEK,KAAK,EAAE,eAAe;IACtBC,MAAM,EAAE,qBAAqB;IAC7BC,MAAM,EAAE,qBAAqB;IAC7BC,MAAM,EAAE,qBAAqB;IAC7BC,SAAS,EAAE;EACb,CAAC,EACDN,MACF,CAAC;AACH"}
@@ -0,0 +1,16 @@
1
+ import { Fragment } from 'react';
2
+ import { KnownToken } from "../../../tokens.js";
3
+ import { RegularHelmet } from "../utils/regular-helmet.js";
4
+ import { PAGE_FORMAT_PRIORITY } from "../constants.js";
5
+
6
+ /**
7
+ * Провайдер helmet-компонента. Этот компонент является контейнером для результата render-функции.
8
+ * @param resolve Функция для получения зависимости по токену.
9
+ * @return Helmet-компонент.
10
+ */
11
+ export function providePageHelmet(resolve) {
12
+ const config = resolve(KnownToken.Config.base);
13
+ const acceptType = resolve(KnownToken.Http.Handler.Request.acceptType);
14
+ return config.env === 'development' && acceptType(PAGE_FORMAT_PRIORITY) === 'html' ? RegularHelmet : Fragment;
15
+ }
16
+ //# sourceMappingURL=page-helmet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-helmet.js","names":["Fragment","KnownToken","RegularHelmet","PAGE_FORMAT_PRIORITY","providePageHelmet","resolve","config","Config","base","acceptType","Http","Handler","Request","env"],"sources":["../../../../../src/preset/server/providers/page-helmet.ts"],"sourcesContent":["import { Fragment } from 'react';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { RegularHelmet } from '../utils/regular-helmet';\nimport { PAGE_FORMAT_PRIORITY } from '../constants';\n\n/**\n * Провайдер helmet-компонента. Этот компонент является контейнером для результата render-функции.\n * @param resolve Функция для получения зависимости по токену.\n * @return Helmet-компонент.\n */\nexport function providePageHelmet(resolve: Resolve) {\n const config = resolve(KnownToken.Config.base);\n const acceptType = resolve(KnownToken.Http.Handler.Request.acceptType);\n\n return config.env === 'development' && acceptType(PAGE_FORMAT_PRIORITY) === 'html'\n ? RegularHelmet\n : Fragment;\n}\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,OAAO;AAEhC,SAASC,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,oBAAoB,QAAQ,iBAAc;;AAEnD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,OAAgB,EAAE;EAClD,MAAMC,MAAM,GAAGD,OAAO,CAACJ,UAAU,CAACM,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,UAAU,GAAGJ,OAAO,CAACJ,UAAU,CAACS,IAAI,CAACC,OAAO,CAACC,OAAO,CAACH,UAAU,CAAC;EAEtE,OAAOH,MAAM,CAACO,GAAG,KAAK,aAAa,IAAIJ,UAAU,CAACN,oBAAoB,CAAC,KAAK,MAAM,GAC9ED,aAAa,GACbF,QAAQ;AACd"}
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Провайдер render-функции.
4
+ * @return Render-Функция.
5
+ */
6
+ export function providePageRender() {
7
+ return () => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h1", null, "Hello, world!"), /*#__PURE__*/React.createElement("p", null, "This is a stub page. Define the render component in your handler app"));
8
+ }
9
+ //# sourceMappingURL=page-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-render.js","names":["providePageRender","React","createElement","Fragment"],"sources":["../../../../../src/preset/server/providers/page-render.tsx"],"sourcesContent":["/**\n * Провайдер render-функции.\n * @return Render-Функция.\n */\nexport function providePageRender() {\n return () => (\n <>\n <h1>Hello, world!</h1>\n <p>This is a stub page. Define the render component in your handler app</p>\n </>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA,OAAO,SAASA,iBAAiBA,CAAA,EAAG;EAClC,OAAO,mBACLC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,qBACEF,KAAA,CAAAC,aAAA,aAAI,eAAiB,CAAC,eACtBD,KAAA,CAAAC,aAAA,YAAG,sEAAuE,CAC1E,CACH;AACH"}
@@ -0,0 +1,12 @@
1
+ import { KnownToken } from "../../../tokens.js";
2
+
3
+ /**
4
+ * Провайдер объекта подписки на события и вызова событий ответа.
5
+ * @param resolve Resolve.
6
+ * @return EventTarget.
7
+ */
8
+ export function provideResponseEvents(resolve) {
9
+ const context = resolve(KnownToken.Http.Handler.context);
10
+ return context.events;
11
+ }
12
+ //# sourceMappingURL=response-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-events.js","names":["KnownToken","provideResponseEvents","resolve","context","Http","Handler","events"],"sources":["../../../../../src/preset/server/providers/response-events.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта подписки на события и вызова событий ответа.\n * @param resolve Resolve.\n * @return EventTarget.\n */\nexport function provideResponseEvents(resolve: Resolve): EventTarget {\n const context = resolve(KnownToken.Http.Handler.context);\n\n return context.events;\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACC,OAAgB,EAAe;EACnE,MAAMC,OAAO,GAAGD,OAAO,CAACF,UAAU,CAACI,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;EAExD,OAAOA,OAAO,CAACG,MAAM;AACvB"}
@@ -0,0 +1,13 @@
1
+ import { SsrBridge } from "./../../../utils/ssr/index.js";
2
+ import { KnownToken } from "../../../tokens.js";
3
+
4
+ /**
5
+ * Провайдер серверной части "моста" для передачи данных между сервером и клиентом.
6
+ * @param resolve Функция для получения зависимости по токену.
7
+ * @return Серверная часть "моста".
8
+ */
9
+ export function provideSsrBridgeServerSide(resolve) {
10
+ const config = resolve(KnownToken.Config.base);
11
+ return SsrBridge.prepare(config.appName);
12
+ }
13
+ //# sourceMappingURL=ssr-bridge-server-side.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr-bridge-server-side.js","names":["SsrBridge","KnownToken","provideSsrBridgeServerSide","resolve","config","Config","base","prepare","appName"],"sources":["../../../../../src/preset/server/providers/ssr-bridge-server-side.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { SsrBridge, BridgeServerSide } from '../../../utils/ssr';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер серверной части \"моста\" для передачи данных между сервером и клиентом.\n * @param resolve Функция для получения зависимости по токену.\n * @return Серверная часть \"моста\".\n */\nexport function provideSsrBridgeServerSide(resolve: Resolve): BridgeServerSide {\n const config = resolve(KnownToken.Config.base);\n\n return SsrBridge.prepare(config.appName);\n}\n"],"mappings":"AACA,SAASA,SAAS,QAA0B,+BAAoB;AAChE,SAASC,UAAU,QAAQ,oBAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CAACC,OAAgB,EAAoB;EAC7E,MAAMC,MAAM,GAAGD,OAAO,CAACF,UAAU,CAACI,MAAM,CAACC,IAAI,CAAC;EAE9C,OAAON,SAAS,CAACO,OAAO,CAACH,MAAM,CAACI,OAAO,CAAC;AAC1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/server/types.ts"],"sourcesContent":["import type { PageAssets } from '../isomorphic';\n\n/**\n * На сервере между промежуточными слоями надо обмениваться данными поэтому появился такой интерфейс.\n * Возможно в будущем он перейдет в `@krutoo/fetch-tools`.\n */\nexport interface ServerHandlerContext {\n events: EventTarget;\n}\n\nexport interface ServerHandler {\n (request: Request, context: ServerHandlerContext): Response | Promise<Response>;\n}\n\nexport interface ServerEnhancer {\n (request: ServerHandler): ServerHandler;\n}\n\nexport interface ServerMiddleware {\n (\n request: Request,\n next: (req: Request, ctx?: ServerHandlerContext) => Response | Promise<Response>,\n context: ServerHandlerContext,\n ): Response | Promise<Response>;\n}\n\nexport interface PageResponseFormatResult {\n body: string;\n headers: Headers;\n}\n\nexport interface PageResponseFormatter {\n (\n jsx: JSX.Element,\n assets: PageAssets,\n meta: unknown,\n ): PageResponseFormatResult | Promise<PageResponseFormatResult>;\n}\n\nexport interface RenderToString {\n (jsx: JSX.Element): string | Promise<string>;\n}\n"],"mappings":""}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Возвращает Enhancer который накидывает на обработчик промежуточные слои.
3
+ * В будущем может быть перенесен в `@krutoo/fetch-tools` в более абстрактном виде.
4
+ * @inheritdoc
5
+ */
6
+ export function applyServerMiddleware(...list) {
7
+ return handler => {
8
+ let result = handler;
9
+ for (const item of list.reverse()) {
10
+ const next = result;
11
+ result = async (request, context) => item(request, (req, ctx) => next(req, ctx ?? context), context);
12
+ }
13
+ return result;
14
+ };
15
+ }
16
+ //# sourceMappingURL=apply-server-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-server-middleware.js","names":["applyServerMiddleware","list","handler","result","item","reverse","next","request","context","req","ctx"],"sources":["../../../../../src/preset/server/utils/apply-server-middleware.ts"],"sourcesContent":["import type { ServerEnhancer, ServerMiddleware } from '../types';\n\n/**\n * Возвращает Enhancer который накидывает на обработчик промежуточные слои.\n * В будущем может быть перенесен в `@krutoo/fetch-tools` в более абстрактном виде.\n * @inheritdoc\n */\nexport function applyServerMiddleware(...list: ServerMiddleware[]): ServerEnhancer {\n return handler => {\n let result = handler;\n\n for (const item of list.reverse()) {\n const next = result;\n result = async (request, context) =>\n item(request, (req, ctx) => next(req, ctx ?? context), context);\n }\n\n return result;\n };\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAqBA,CAAC,GAAGC,IAAwB,EAAkB;EACjF,OAAOC,OAAO,IAAI;IAChB,IAAIC,MAAM,GAAGD,OAAO;IAEpB,KAAK,MAAME,IAAI,IAAIH,IAAI,CAACI,OAAO,CAAC,CAAC,EAAE;MACjC,MAAMC,IAAI,GAAGH,MAAM;MACnBA,MAAM,GAAG,MAAAA,CAAOI,OAAO,EAAEC,OAAO,KAC9BJ,IAAI,CAACG,OAAO,EAAE,CAACE,GAAG,EAAEC,GAAG,KAAKJ,IAAI,CAACG,GAAG,EAAEC,GAAG,IAAIF,OAAO,CAAC,EAAEA,OAAO,CAAC;IACnE;IAEA,OAAOL,MAAM;EACf,CAAC;AACH"}
@@ -0,0 +1,34 @@
1
+ import { ResponseError } from "./../../../http/index.js";
2
+ /**
3
+ * Функция форматирования ошибки обработчика запроса.
4
+ * @param error Ошибка.
5
+ * @return Формат ответа и лога ошибки.
6
+ */
7
+ export function formatHandlerError(error) {
8
+ let logLevel = 'error';
9
+ let message;
10
+ let statusCode = 500; // по умолчанию, если на этапе подготовки страницы что-то не так, отдаем 500
11
+ let redirectLocation = null;
12
+ if (error instanceof Error) {
13
+ message = error.message;
14
+ if (error instanceof ResponseError) {
15
+ statusCode = error.statusCode;
16
+ redirectLocation = error.redirectLocation;
17
+ logLevel = error.logLevel;
18
+ }
19
+ } else {
20
+ message = String(error);
21
+ }
22
+ return {
23
+ response: {
24
+ status: statusCode,
25
+ body: message,
26
+ redirectLocation
27
+ },
28
+ log: {
29
+ level: logLevel,
30
+ message
31
+ }
32
+ };
33
+ }
34
+ //# sourceMappingURL=format-handler-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-handler-error.js","names":["ResponseError","formatHandlerError","error","logLevel","message","statusCode","redirectLocation","Error","String","response","status","body","log","level"],"sources":["../../../../../src/preset/server/utils/format-handler-error.ts"],"sourcesContent":["import { ResponseError } from '../../../http';\nimport { LogLevel } from '../../../log';\n\n/**\n * Функция форматирования ошибки обработчика запроса.\n * @param error Ошибка.\n * @return Формат ответа и лога ошибки.\n */\nexport function formatHandlerError(error: unknown) {\n let logLevel: LogLevel | null = 'error';\n let message: string;\n let statusCode = 500; // по умолчанию, если на этапе подготовки страницы что-то не так, отдаем 500\n let redirectLocation: string | null = null;\n\n if (error instanceof Error) {\n message = error.message;\n\n if (error instanceof ResponseError) {\n statusCode = error.statusCode;\n redirectLocation = error.redirectLocation;\n logLevel = error.logLevel;\n }\n } else {\n message = String(error);\n }\n\n return {\n response: {\n status: statusCode,\n body: message,\n redirectLocation,\n },\n log: {\n level: logLevel,\n message,\n },\n };\n}\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,0BAAe;AAG7C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,KAAc,EAAE;EACjD,IAAIC,QAAyB,GAAG,OAAO;EACvC,IAAIC,OAAe;EACnB,IAAIC,UAAU,GAAG,GAAG,CAAC,CAAC;EACtB,IAAIC,gBAA+B,GAAG,IAAI;EAE1C,IAAIJ,KAAK,YAAYK,KAAK,EAAE;IAC1BH,OAAO,GAAGF,KAAK,CAACE,OAAO;IAEvB,IAAIF,KAAK,YAAYF,aAAa,EAAE;MAClCK,UAAU,GAAGH,KAAK,CAACG,UAAU;MAC7BC,gBAAgB,GAAGJ,KAAK,CAACI,gBAAgB;MACzCH,QAAQ,GAAGD,KAAK,CAACC,QAAQ;IAC3B;EACF,CAAC,MAAM;IACLC,OAAO,GAAGI,MAAM,CAACN,KAAK,CAAC;EACzB;EAEA,OAAO;IACLO,QAAQ,EAAE;MACRC,MAAM,EAAEL,UAAU;MAClBM,IAAI,EAAEP,OAAO;MACbE;IACF,CAAC;IACDM,GAAG,EAAE;MACHC,KAAK,EAAEV,QAAQ;MACfC;IACF;EACF,CAAC;AACH"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Вернет строку с IP на основе заголовков запроса.
3
+ * @param request Запрос.
4
+ * @return IP или null.
5
+ */
6
+ export function getClientIp(request) {
7
+ const headerValue = request.headers.get('x-client-ip') || request.headers.get('x-forwarded-for');
8
+ return headerValue;
9
+ }
10
+ //# sourceMappingURL=get-client-ip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-client-ip.js","names":["getClientIp","request","headerValue","headers","get"],"sources":["../../../../../src/preset/server/utils/get-client-ip.ts"],"sourcesContent":["/**\n * Вернет строку с IP на основе заголовков запроса.\n * @param request Запрос.\n * @return IP или null.\n */\nexport function getClientIp(request: Request): string | null {\n const headerValue = request.headers.get('x-client-ip') || request.headers.get('x-forwarded-for');\n\n return headerValue;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,WAAWA,CAACC,OAAgB,EAAiB;EAC3D,MAAMC,WAAW,GAAGD,OAAO,CAACE,OAAO,CAACC,GAAG,CAAC,aAAa,CAAC,IAAIH,OAAO,CAACE,OAAO,CAACC,GAAG,CAAC,iBAAiB,CAAC;EAEhG,OAAOF,WAAW;AACpB"}
@@ -0,0 +1,41 @@
1
+ import { SpanStatusCode } from '@opentelemetry/api';
2
+ import { SemanticAttributes } from '@opentelemetry/semantic-conventions';
3
+ import { hideFirstId } from "../../isomorphic/utils/hide-first-id.js";
4
+
5
+ /**
6
+ * Вернет новый промежуточный слой трассировки для fetch.
7
+ * @param tracer Трассировщик.
8
+ * @param rootContext Контекст.
9
+ * @return Промежуточный слой трассировки.
10
+ */
11
+ export function getFetchTracing(tracer, rootContext) {
12
+ return async (request, next) => {
13
+ const [url, foundId] = hideFirstId(new URL(request.url).pathname);
14
+ const span = tracer.startSpan(`HTTP ${request.method} ${url}`, undefined, rootContext);
15
+ span.setAttributes({
16
+ [SemanticAttributes.HTTP_URL]: url,
17
+ [SemanticAttributes.HTTP_METHOD]: request.method,
18
+ 'request.params': JSON.stringify(new URL(request.url).searchParams),
19
+ 'request.headers': JSON.stringify(request.headers),
20
+ // если нашли id - добавляем в теги
21
+ ...(foundId && {
22
+ 'request.id': foundId
23
+ })
24
+ });
25
+ try {
26
+ const response = await next(request);
27
+ span.end();
28
+ return response;
29
+ } catch (error) {
30
+ span.setStatus({
31
+ code: SpanStatusCode.ERROR,
32
+ message: 'HTTP Request failed'
33
+ });
34
+ span.end();
35
+
36
+ // не прячем ошибку
37
+ throw error;
38
+ }
39
+ };
40
+ }
41
+ //# sourceMappingURL=get-fetch-tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-fetch-tracing.js","names":["SpanStatusCode","SemanticAttributes","hideFirstId","getFetchTracing","tracer","rootContext","request","next","url","foundId","URL","pathname","span","startSpan","method","undefined","setAttributes","HTTP_URL","HTTP_METHOD","JSON","stringify","searchParams","headers","response","end","error","setStatus","code","ERROR","message"],"sources":["../../../../../src/preset/server/utils/get-fetch-tracing.ts"],"sourcesContent":["import type { Middleware } from '../../../http';\nimport { SpanStatusCode, type Context, type Tracer } from '@opentelemetry/api';\nimport { SemanticAttributes } from '@opentelemetry/semantic-conventions';\nimport { hideFirstId } from '../../isomorphic/utils/hide-first-id';\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, foundId] = hideFirstId(new URL(request.url).pathname);\n const span = tracer.startSpan(`HTTP ${request.method} ${url}`, undefined, rootContext);\n\n span.setAttributes({\n [SemanticAttributes.HTTP_URL]: url,\n [SemanticAttributes.HTTP_METHOD]: request.method,\n 'request.params': JSON.stringify(new URL(request.url).searchParams),\n 'request.headers': JSON.stringify(request.headers),\n\n // если нашли id - добавляем в теги\n ...(foundId && { 'request.id': foundId }),\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,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,WAAW,QAAQ,yCAAsC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAc,EAAEC,WAAoB,EAAc;EAChF,OAAO,OAAOC,OAAO,EAAEC,IAAI,KAAK;IAC9B,MAAM,CAACC,GAAG,EAAEC,OAAO,CAAC,GAAGP,WAAW,CAAC,IAAIQ,GAAG,CAACJ,OAAO,CAACE,GAAG,CAAC,CAACG,QAAQ,CAAC;IACjE,MAAMC,IAAI,GAAGR,MAAM,CAACS,SAAS,CAAE,QAAOP,OAAO,CAACQ,MAAO,IAAGN,GAAI,EAAC,EAAEO,SAAS,EAAEV,WAAW,CAAC;IAEtFO,IAAI,CAACI,aAAa,CAAC;MACjB,CAACf,kBAAkB,CAACgB,QAAQ,GAAGT,GAAG;MAClC,CAACP,kBAAkB,CAACiB,WAAW,GAAGZ,OAAO,CAACQ,MAAM;MAChD,gBAAgB,EAAEK,IAAI,CAACC,SAAS,CAAC,IAAIV,GAAG,CAACJ,OAAO,CAACE,GAAG,CAAC,CAACa,YAAY,CAAC;MACnE,iBAAiB,EAAEF,IAAI,CAACC,SAAS,CAACd,OAAO,CAACgB,OAAO,CAAC;MAElD;MACA,IAAIb,OAAO,IAAI;QAAE,YAAY,EAAEA;MAAQ,CAAC;IAC1C,CAAC,CAAC;IAEF,IAAI;MACF,MAAMc,QAAQ,GAAG,MAAMhB,IAAI,CAACD,OAAO,CAAC;MAEpCM,IAAI,CAACY,GAAG,CAAC,CAAC;MAEV,OAAOD,QAAQ;IACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;MACdb,IAAI,CAACc,SAAS,CAAC;QACbC,IAAI,EAAE3B,cAAc,CAAC4B,KAAK;QAC1BC,OAAO,EAAE;MACX,CAAC,CAAC;MAEFjB,IAAI,CAACY,GAAG,CAAC,CAAC;;MAEV;MACA,MAAMC,KAAK;IACb;EACF,CAAC;AACH"}
@@ -0,0 +1,29 @@
1
+ import { getClientIp } from "./get-client-ip.js";
2
+
3
+ /**
4
+ * Вернет заголовки, которые должны содержаться в исходящих http-запросах при обработке входящего http-запроса.
5
+ * @param config Конфигурация.
6
+ * @param request Входящий запрос.
7
+ * @return Заголовки.
8
+ */
9
+ export function getForwardedHeaders(config, request) {
10
+ const result = new Headers();
11
+
12
+ // user agent
13
+ result.set('User-Agent', `simaland-${config.appName}/${config.appVersion}`);
14
+
15
+ // client ip
16
+ const clientIp = getClientIp(request);
17
+ if (clientIp) {
18
+ result.set('X-Client-Ip', clientIp);
19
+ }
20
+
21
+ // service headers
22
+ request.headers.forEach((headerValue, headerName) => {
23
+ if (headerName.toLowerCase().startsWith('simaland-') && headerName.toLowerCase() !== 'simaland-params') {
24
+ result.set(headerName, headerValue);
25
+ }
26
+ });
27
+ return result;
28
+ }
29
+ //# sourceMappingURL=get-forwarded-headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-forwarded-headers.js","names":["getClientIp","getForwardedHeaders","config","request","result","Headers","set","appName","appVersion","clientIp","headers","forEach","headerValue","headerName","toLowerCase","startsWith"],"sources":["../../../../../src/preset/server/utils/get-forwarded-headers.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport { getClientIp } from './get-client-ip';\n\n/**\n * Вернет заголовки, которые должны содержаться в исходящих http-запросах при обработке входящего http-запроса.\n * @param config Конфигурация.\n * @param request Входящий запрос.\n * @return Заголовки.\n */\nexport function getForwardedHeaders(config: BaseConfig, request: Request): Headers {\n const result = new Headers();\n\n // user agent\n result.set('User-Agent', `simaland-${config.appName}/${config.appVersion}`);\n\n // client ip\n const clientIp = getClientIp(request);\n\n if (clientIp) {\n result.set('X-Client-Ip', clientIp);\n }\n\n // service headers\n request.headers.forEach((headerValue, headerName) => {\n if (\n headerName.toLowerCase().startsWith('simaland-') &&\n headerName.toLowerCase() !== 'simaland-params'\n ) {\n result.set(headerName, headerValue);\n }\n });\n\n return result;\n}\n"],"mappings":"AACA,SAASA,WAAW,QAAQ,oBAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,MAAkB,EAAEC,OAAgB,EAAW;EACjF,MAAMC,MAAM,GAAG,IAAIC,OAAO,CAAC,CAAC;;EAE5B;EACAD,MAAM,CAACE,GAAG,CAAC,YAAY,EAAG,YAAWJ,MAAM,CAACK,OAAQ,IAAGL,MAAM,CAACM,UAAW,EAAC,CAAC;;EAE3E;EACA,MAAMC,QAAQ,GAAGT,WAAW,CAACG,OAAO,CAAC;EAErC,IAAIM,QAAQ,EAAE;IACZL,MAAM,CAACE,GAAG,CAAC,aAAa,EAAEG,QAAQ,CAAC;EACrC;;EAEA;EACAN,OAAO,CAACO,OAAO,CAACC,OAAO,CAAC,CAACC,WAAW,EAAEC,UAAU,KAAK;IACnD,IACEA,UAAU,CAACC,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,WAAW,CAAC,IAChDF,UAAU,CAACC,WAAW,CAAC,CAAC,KAAK,iBAAiB,EAC9C;MACAV,MAAM,CAACE,GAAG,CAACO,UAAU,EAAED,WAAW,CAAC;IACrC;EACF,CAAC,CAAC;EAEF,OAAOR,MAAM;AACf"}
@@ -0,0 +1,35 @@
1
+ import PromClient from 'prom-client';
2
+ export const LABEL_NAMES = {
3
+ httpResponse: ['version', 'route', 'code', 'method'],
4
+ pageRender: ['version', 'route', 'method']
5
+ };
6
+
7
+ /**
8
+ * Возвращает метрики обработки входящего http-запроса.
9
+ * @return Метрики.
10
+ */
11
+ export function getHandlerMetrics() {
12
+ const requestCount = new PromClient.Counter({
13
+ name: 'http_request_count',
14
+ help: 'Incoming HTTP request count',
15
+ labelNames: LABEL_NAMES.httpResponse
16
+ });
17
+ const responseDuration = new PromClient.Histogram({
18
+ name: 'http_response_duration_ms',
19
+ help: 'Duration of incoming HTTP requests in ms',
20
+ labelNames: LABEL_NAMES.httpResponse,
21
+ buckets: [30, 100, 200, 500, 1000, 2500, 5000, 10000]
22
+ });
23
+ const renderDuration = new PromClient.Histogram({
24
+ name: 'render_duration_ms',
25
+ help: 'Duration of SSR ms',
26
+ labelNames: LABEL_NAMES.pageRender,
27
+ buckets: [0.1, 15, 50, 100, 250, 500, 800, 1500]
28
+ });
29
+ return {
30
+ requestCount,
31
+ renderDuration,
32
+ responseDuration
33
+ };
34
+ }
35
+ //# sourceMappingURL=get-handler-metrics.js.map
@@ -0,0 +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/server/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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Возвращает новый обработчик входящих запросов.
3
+ * Обработчик возвращает ответ в формате JSON, тело - объект с полем "uptime" типа number.
4
+ * @return Обработчик.
5
+ */
6
+ export function getHealthCheck() {
7
+ const startTime = Date.now();
8
+ return () => new Response(JSON.stringify({
9
+ uptime: Date.now() - startTime
10
+ }), {
11
+ headers: {
12
+ 'content-type': 'application/json'
13
+ }
14
+ });
15
+ }
16
+ //# sourceMappingURL=get-health-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-health-check.js","names":["getHealthCheck","startTime","Date","now","Response","JSON","stringify","uptime","headers"],"sources":["../../../../../src/preset/server/utils/get-health-check.ts"],"sourcesContent":["import type { Handler } from '../../../http';\n\n/**\n * Возвращает новый обработчик входящих запросов.\n * Обработчик возвращает ответ в формате JSON, тело - объект с полем \"uptime\" типа number.\n * @return Обработчик.\n */\nexport function getHealthCheck(): Handler {\n const startTime = Date.now();\n\n return () =>\n new Response(JSON.stringify({ uptime: Date.now() - startTime }), {\n headers: {\n 'content-type': 'application/json',\n },\n });\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,cAAcA,CAAA,EAAY;EACxC,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EAE5B,OAAO,MACL,IAAIC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAAC;IAAEC,MAAM,EAAEL,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF;EAAU,CAAC,CAAC,EAAE;IAC/DO,OAAO,EAAE;MACP,cAAc,EAAE;IAClB;EACF,CAAC,CAAC;AACN"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Определяет формат ответа для страницы (html-верстки).
3
+ * Вернет "json" - если заголовок запроса "accept" содержит "application/json".
4
+ * Вернет "html" во всех остальных случаях.
5
+ * @param request Запрос.
6
+ * @return Формат.
7
+ */
8
+ export function getPageResponseFormat(request) {
9
+ let result = 'html';
10
+ if ((request.headers.get('accept') || '').toLowerCase().includes('application/json')) {
11
+ result = 'json';
12
+ }
13
+ return result;
14
+ }
15
+ //# sourceMappingURL=get-page-response-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-page-response-format.js","names":["getPageResponseFormat","request","result","headers","get","toLowerCase","includes"],"sources":["../../../../../src/preset/server/utils/get-page-response-format.ts"],"sourcesContent":["/**\n * Определяет формат ответа для страницы (html-верстки).\n * Вернет \"json\" - если заголовок запроса \"accept\" содержит \"application/json\".\n * Вернет \"html\" во всех остальных случаях.\n * @param request Запрос.\n * @return Формат.\n */\nexport function getPageResponseFormat(request: Request): 'html' | 'json' {\n let result: 'html' | 'json' = 'html';\n\n if ((request.headers.get('accept') || '').toLowerCase().includes('application/json')) {\n result = 'json';\n }\n\n return result;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAqBA,CAACC,OAAgB,EAAmB;EACvE,IAAIC,MAAuB,GAAG,MAAM;EAEpC,IAAI,CAACD,OAAO,CAACE,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAEC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;IACpFJ,MAAM,GAAG,MAAM;EACjB;EAEA,OAAOA,MAAM;AACf"}
@@ -0,0 +1,31 @@
1
+ import { FetchUtil, log } from "./../../../http/index.js";
2
+ import { DetailedError } from "./../../../log/index.js";
3
+
4
+ /**
5
+ * Возвращает новый промежуточный слой для логирования ошибки при обработке входящего http-запроса.
6
+ * @param logger Logger.
7
+ * @return Промежуточный слой.
8
+ */
9
+ export function getServeErrorLogging(logger) {
10
+ return log({
11
+ onCatch: ({
12
+ request,
13
+ error
14
+ }) => {
15
+ logger.error(new DetailedError(String(error), {
16
+ level: 'error',
17
+ context: [{
18
+ key: 'Incoming request details',
19
+ data: {
20
+ url: FetchUtil.withoutParams(request.url),
21
+ method: request.method,
22
+ headers: Object.fromEntries(request.headers.entries()),
23
+ params: Object.fromEntries(new URL(request.url).searchParams.entries())
24
+ // @todo data
25
+ }
26
+ }]
27
+ }));
28
+ }
29
+ });
30
+ }
31
+ //# sourceMappingURL=get-serve-error-logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-serve-error-logging.js","names":["FetchUtil","log","DetailedError","getServeErrorLogging","logger","onCatch","request","error","String","level","context","key","data","url","withoutParams","method","headers","Object","fromEntries","entries","params","URL","searchParams"],"sources":["../../../../../src/preset/server/utils/get-serve-error-logging.ts"],"sourcesContent":["import { FetchUtil, log, type Middleware } from '../../../http';\nimport { DetailedError, type Logger } from '../../../log';\n\n/**\n * Возвращает новый промежуточный слой для логирования ошибки при обработке входящего http-запроса.\n * @param logger Logger.\n * @return Промежуточный слой.\n */\nexport function getServeErrorLogging(logger: Logger): Middleware {\n return log({\n onCatch: ({ request, error }) => {\n logger.error(\n new DetailedError(String(error), {\n level: 'error',\n context: [\n {\n key: 'Incoming request details',\n data: {\n url: FetchUtil.withoutParams(request.url),\n method: request.method,\n headers: Object.fromEntries(request.headers.entries()),\n params: Object.fromEntries(new URL(request.url).searchParams.entries()),\n // @todo data\n },\n },\n ],\n }),\n );\n },\n });\n}\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,GAAG,QAAyB,0BAAe;AAC/D,SAASC,aAAa,QAAqB,yBAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAACC,MAAc,EAAc;EAC/D,OAAOH,GAAG,CAAC;IACTI,OAAO,EAAEA,CAAC;MAAEC,OAAO;MAAEC;IAAM,CAAC,KAAK;MAC/BH,MAAM,CAACG,KAAK,CACV,IAAIL,aAAa,CAACM,MAAM,CAACD,KAAK,CAAC,EAAE;QAC/BE,KAAK,EAAE,OAAO;QACdC,OAAO,EAAE,CACP;UACEC,GAAG,EAAE,0BAA0B;UAC/BC,IAAI,EAAE;YACJC,GAAG,EAAEb,SAAS,CAACc,aAAa,CAACR,OAAO,CAACO,GAAG,CAAC;YACzCE,MAAM,EAAET,OAAO,CAACS,MAAM;YACtBC,OAAO,EAAEC,MAAM,CAACC,WAAW,CAACZ,OAAO,CAACU,OAAO,CAACG,OAAO,CAAC,CAAC,CAAC;YACtDC,MAAM,EAAEH,MAAM,CAACC,WAAW,CAAC,IAAIG,GAAG,CAACf,OAAO,CAACO,GAAG,CAAC,CAACS,YAAY,CAACH,OAAO,CAAC,CAAC;YACtE;UACF;QACF,CAAC;MAEL,CAAC,CACH,CAAC;IACH;EACF,CAAC,CAAC;AACJ"}
@@ -0,0 +1,32 @@
1
+ import { toMilliseconds } from "./../../../utils/index.js";
2
+ import { getClientIp } from "./get-client-ip.js";
3
+
4
+ /**
5
+ * Возвращает новый промежуточный слой для логирования обработки входящего http-запроса.
6
+ * @param logger Logger.
7
+ * @return Промежуточный слой.
8
+ */
9
+ export function getServeLogging(logger) {
10
+ return async (request, next) => {
11
+ const start = process.hrtime.bigint();
12
+ const clientIp = getClientIp(request);
13
+ logger.info({
14
+ type: 'http.request[incoming]',
15
+ route: request.url,
16
+ method: request.method,
17
+ remote_ip: clientIp
18
+ });
19
+ const response = await next(request);
20
+ const finish = process.hrtime.bigint();
21
+ logger.info({
22
+ type: 'http.response[outgoing]',
23
+ route: request.url,
24
+ method: request.method,
25
+ status: response.status,
26
+ remote_ip: clientIp,
27
+ latency: toMilliseconds(finish - start)
28
+ });
29
+ return response;
30
+ };
31
+ }
32
+ //# sourceMappingURL=get-serve-logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-serve-logging.js","names":["toMilliseconds","getClientIp","getServeLogging","logger","request","next","start","process","hrtime","bigint","clientIp","info","type","route","url","method","remote_ip","response","finish","status","latency"],"sources":["../../../../../src/preset/server/utils/get-serve-logging.ts"],"sourcesContent":["import type { Middleware } from '../../../http';\nimport type { Logger } from '../../../log';\nimport { toMilliseconds } from '../../../utils';\nimport { getClientIp } from './get-client-ip';\n\n/**\n * Возвращает новый промежуточный слой для логирования обработки входящего http-запроса.\n * @param logger Logger.\n * @return Промежуточный слой.\n */\nexport function getServeLogging(logger: Logger): Middleware {\n return async (request, next) => {\n const start = process.hrtime.bigint();\n const clientIp = getClientIp(request);\n\n logger.info({\n type: 'http.request[incoming]',\n route: request.url,\n method: request.method,\n remote_ip: clientIp,\n });\n\n const response = await next(request);\n\n const finish = process.hrtime.bigint();\n\n logger.info({\n type: 'http.response[outgoing]',\n route: request.url,\n method: request.method,\n status: response.status,\n remote_ip: clientIp,\n latency: toMilliseconds(finish - start),\n });\n\n return response;\n };\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ,2BAAgB;AAC/C,SAASC,WAAW,QAAQ,oBAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAc,EAAc;EAC1D,OAAO,OAAOC,OAAO,EAAEC,IAAI,KAAK;IAC9B,MAAMC,KAAK,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IACrC,MAAMC,QAAQ,GAAGT,WAAW,CAACG,OAAO,CAAC;IAErCD,MAAM,CAACQ,IAAI,CAAC;MACVC,IAAI,EAAE,wBAAwB;MAC9BC,KAAK,EAAET,OAAO,CAACU,GAAG;MAClBC,MAAM,EAAEX,OAAO,CAACW,MAAM;MACtBC,SAAS,EAAEN;IACb,CAAC,CAAC;IAEF,MAAMO,QAAQ,GAAG,MAAMZ,IAAI,CAACD,OAAO,CAAC;IAEpC,MAAMc,MAAM,GAAGX,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAEtCN,MAAM,CAACQ,IAAI,CAAC;MACVC,IAAI,EAAE,yBAAyB;MAC/BC,KAAK,EAAET,OAAO,CAACU,GAAG;MAClBC,MAAM,EAAEX,OAAO,CAACW,MAAM;MACtBI,MAAM,EAAEF,QAAQ,CAACE,MAAM;MACvBH,SAAS,EAAEN,QAAQ;MACnBU,OAAO,EAAEpB,cAAc,CAACkB,MAAM,GAAGZ,KAAK;IACxC,CAAC,CAAC;IAEF,OAAOW,QAAQ;EACjB,CAAC;AACH"}
@@ -0,0 +1,52 @@
1
+ import { PAGE_HANDLER_EVENT_TYPE } from "../constants.js";
2
+ import { toMilliseconds } from "./../../../utils/index.js";
3
+ import { getHandlerMetrics } from "./get-handler-metrics.js";
4
+
5
+ /**
6
+ * Возвращает новый промежуточный слой метрки входящего http-запроса.
7
+ * @param config Конфигурация.
8
+ * @return Промежуточный слой.
9
+ */
10
+ export function getServeMeasuring(config) {
11
+ const {
12
+ requestCount,
13
+ renderDuration,
14
+ responseDuration
15
+ } = getHandlerMetrics();
16
+
17
+ /** @inheritdoc */
18
+ const getResponseLabels = (req, res) => ({
19
+ version: config.appVersion,
20
+ route: req.url,
21
+ code: res.status,
22
+ method: req.method
23
+ });
24
+
25
+ /** @inheritdoc */
26
+ const getRenderLabels = request => ({
27
+ version: config.appVersion,
28
+ method: request.method,
29
+ route: request.url
30
+ });
31
+ return async (request, next, context) => {
32
+ const responseStart = process.hrtime.bigint();
33
+ let renderStart = 0n;
34
+ context.events.addEventListener(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {
35
+ renderStart = process.hrtime.bigint();
36
+ }, {
37
+ once: true
38
+ });
39
+ context.events.addEventListener(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {
40
+ const renderFinish = process.hrtime.bigint();
41
+ renderDuration.observe(getRenderLabels(request), toMilliseconds(renderFinish - renderStart));
42
+ }, {
43
+ once: true
44
+ });
45
+ const response = await next(request);
46
+ const responseFinish = process.hrtime.bigint();
47
+ responseDuration.observe(getResponseLabels(request, response), toMilliseconds(responseFinish - responseStart));
48
+ requestCount.inc(getResponseLabels(request, response), 1);
49
+ return response;
50
+ };
51
+ }
52
+ //# sourceMappingURL=get-serve-measuring.js.map
@@ -0,0 +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/server/utils/get-serve-measuring.ts"],"sourcesContent":["import type { BaseConfig } from '../../../config';\nimport type { ServerMiddleware } from '../types';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../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,iBAAc;AACtD,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"}