@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
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "getClientIp", {
7
- enumerable: true,
8
- get: function () {
9
- return _httpServer.getClientIp;
10
- }
11
- });
12
- Object.defineProperty(exports, "tracingMiddleware", {
13
- enumerable: true,
14
- get: function () {
15
- return _httpClient.tracingMiddleware;
16
- }
17
- });
18
- var _httpClient = require("./http-client");
19
- var _httpServer = require("./http-server");
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_httpClient","require","_httpServer"],"sources":["../../../../../../src/preset/node/node/utils/index.ts"],"sourcesContent":["export { tracingMiddleware } from './http-client';\nexport { getClientIp } from './http-server';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA"}
@@ -1,94 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.provideBridgeClientSide = provideBridgeClientSide;
7
- exports.provideConfigSource = provideConfigSource;
8
- exports.provideHttpClientFactory = provideHttpClientFactory;
9
- exports.provideKnownHttpApiHosts = provideKnownHttpApiHosts;
10
- exports.provideLogger = provideLogger;
11
- var _browser = require("@sentry/browser");
12
- var _config = require("../../../config");
13
- var _log = require("../../../log");
14
- var _tokens = require("../../../tokens");
15
- var _sentry = require("../../../log/handler/sentry");
16
- var _ssr = require("../../../utils/ssr");
17
- var _utils = require("../../isomorphic/utils");
18
- var _middlewareAxios = require("middleware-axios");
19
- var _axios = require("../../../utils/axios");
20
- /**
21
- * Провайдер источника конфигурации.
22
- * @return Источник конфигурации.
23
- */
24
- function provideConfigSource() {
25
- // ВАЖНО: по умолчанию рассчитываем на process.env который предоставляется сборщиком (например webpack)
26
- if (typeof process !== 'undefined' && process.env) {
27
- return (0, _config.createConfigSource)(process.env);
28
- }
29
- return (0, _config.createConfigSource)({});
30
- }
31
-
32
- /**
33
- * Провайдер Logger'а.
34
- * @param resolve Функция для получения зависимости по токену.
35
- * @return Logger.
36
- */
37
- function provideLogger(resolve) {
38
- const source = resolve(_tokens.KnownToken.Config.source);
39
- const client = new _browser.BrowserClient({
40
- transport: _browser.makeFetchTransport,
41
- stackParser: _browser.defaultStackParser,
42
- dsn: source.require('PUBLIC_SENTRY_DSN'),
43
- release: source.require('SENTRY_RELEASE'),
44
- environment: source.require('PUBLIC_SENTRY_ENVIRONMENT'),
45
- integrations: [..._browser.defaultIntegrations]
46
- });
47
- const hub = new _browser.Hub(client);
48
- hub.setTag('url', window.location.href);
49
- const logger = (0, _log.createLogger)();
50
- logger.subscribe((0, _sentry.createSentryHandler)(hub));
51
- return logger;
52
- }
53
-
54
- /**
55
- * Провайдер клиентской части "моста" для передачи данных между сервером и клиентом.
56
- * @param resolve Функция для получения зависимости по токену.
57
- * @return Клиентская часть "моста".
58
- */
59
- function provideBridgeClientSide(resolve) {
60
- const config = resolve(_tokens.KnownToken.Config.base);
61
- return _ssr.SsrBridge.resolve(config.appName);
62
- }
63
-
64
- /**
65
- * Провайдер известных http-хостов.
66
- * @param resolve Функция для получения зависимости по токену.
67
- * @return Пул известных http-хостов.
68
- */
69
- function provideKnownHttpApiHosts(resolve) {
70
- const source = resolve(_tokens.KnownToken.Config.source);
71
- return new _utils.HttpApiHostPool({
72
- ilium: 'PUBLIC_API_URL_ILIUM',
73
- simaV3: 'PUBLIC_API_URL_SIMALAND_V3',
74
- simaV4: 'PUBLIC_API_URL_SIMALAND_V4',
75
- simaV6: 'PUBLIC_API_URL_SIMALAND_V6'
76
- }, source);
77
- }
78
-
79
- /**
80
- * Провайдер фабрики http-клиентов.
81
- * @param resolve Функция для получения зависимости по токену.
82
- * @return Фабрика.
83
- */
84
- function provideHttpClientFactory(resolve) {
85
- const logHandler = resolve(_tokens.KnownToken.Http.Client.Middleware.Log.handler);
86
- return (config = {}) => {
87
- // @todo убрать as any
88
- const client = (0, _middlewareAxios.create)(config);
89
- client.use(_utils.HttpStatus.axiosMiddleware());
90
- client.use((0, _axios.logMiddleware)(logHandler));
91
- return client;
92
- };
93
- }
94
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_browser","require","_config","_log","_tokens","_sentry","_ssr","_utils","_middlewareAxios","_axios","provideConfigSource","process","env","createConfigSource","provideLogger","resolve","source","KnownToken","Config","client","BrowserClient","transport","makeFetchTransport","stackParser","defaultStackParser","dsn","release","environment","integrations","defaultIntegrations","hub","Hub","setTag","window","location","href","logger","createLogger","subscribe","createSentryHandler","provideBridgeClientSide","config","base","SsrBridge","appName","provideKnownHttpApiHosts","HttpApiHostPool","ilium","simaV3","simaV4","simaV6","provideHttpClientFactory","logHandler","Http","Client","Middleware","Log","handler","create","use","HttpStatus","axiosMiddleware","logMiddleware"],"sources":["../../../../../src/preset/web/providers/index.ts"],"sourcesContent":["import {\n BrowserClient,\n Hub,\n defaultIntegrations,\n defaultStackParser,\n makeFetchTransport,\n} from '@sentry/browser';\nimport { ConfigSource, createConfigSource } from '../../../config';\nimport { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { KnownToken } from '../../../tokens';\nimport { createSentryHandler } from '../../../log/handler/sentry';\nimport { BridgeClientSide, SsrBridge } from '../../../utils/ssr';\nimport { KnownHttpApiKey, StrictMap } from '../../isomorphic/types';\nimport { HttpApiHostPool, HttpStatus } from '../../isomorphic/utils';\nimport { CreateAxiosDefaults } from 'axios';\nimport { create } from 'middleware-axios';\nimport { logMiddleware } from '../../../utils/axios';\n\n/**\n * Провайдер источника конфигурации.\n * @return Источник конфигурации.\n */\nexport function provideConfigSource(): ConfigSource {\n // ВАЖНО: по умолчанию рассчитываем на process.env который предоставляется сборщиком (например webpack)\n if (typeof process !== 'undefined' && process.env) {\n return createConfigSource(process.env);\n }\n\n return createConfigSource({});\n}\n\n/**\n * Провайдер Logger'а.\n * @param resolve Функция для получения зависимости по токену.\n * @return Logger.\n */\nexport function provideLogger(resolve: Resolve): Logger {\n const source = resolve(KnownToken.Config.source);\n\n const client = new BrowserClient({\n transport: makeFetchTransport,\n stackParser: defaultStackParser,\n dsn: source.require('PUBLIC_SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('PUBLIC_SENTRY_ENVIRONMENT'),\n integrations: [...defaultIntegrations],\n });\n\n const hub = new Hub(client);\n\n hub.setTag('url', window.location.href);\n\n const logger = createLogger();\n\n logger.subscribe(createSentryHandler(hub));\n\n return logger;\n}\n\n/**\n * Провайдер клиентской части \"моста\" для передачи данных между сервером и клиентом.\n * @param resolve Функция для получения зависимости по токену.\n * @return Клиентская часть \"моста\".\n */\nexport function provideBridgeClientSide(resolve: Resolve): BridgeClientSide<unknown> {\n const config = resolve(KnownToken.Config.base);\n\n return SsrBridge.resolve(config.appName);\n}\n\n/**\n * Провайдер известных http-хостов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Пул известных http-хостов.\n */\nexport function provideKnownHttpApiHosts(resolve: Resolve): StrictMap<KnownHttpApiKey> {\n const source = resolve(KnownToken.Config.source);\n\n return new HttpApiHostPool<KnownHttpApiKey>(\n {\n ilium: 'PUBLIC_API_URL_ILIUM',\n simaV3: 'PUBLIC_API_URL_SIMALAND_V3',\n simaV4: 'PUBLIC_API_URL_SIMALAND_V4',\n simaV6: 'PUBLIC_API_URL_SIMALAND_V6',\n },\n source,\n );\n}\n\n/**\n * Провайдер фабрики http-клиентов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Фабрика.\n */\nexport function provideHttpClientFactory(resolve: Resolve) {\n const logHandler = resolve(KnownToken.Http.Client.Middleware.Log.handler);\n\n return (config: CreateAxiosDefaults = {}) => {\n // @todo убрать as any\n const client = create(config as any);\n\n client.use(HttpStatus.axiosMiddleware());\n client.use(logMiddleware(logHandler));\n\n return client;\n };\n}\n"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * События в процессе ответа на запрос.
3
- */
4
- export const RESPONSE_EVENT_TYPE = {
5
- renderStart: Symbol('render:start'),
6
- renderFinish: Symbol('render:finish')
7
- };
8
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","names":["RESPONSE_EVENT_TYPE","renderStart","Symbol","renderFinish"],"sources":["../../../../src/preset/isomorphic/constants.ts"],"sourcesContent":["/**\n * События в процессе ответа на запрос.\n */\nexport const RESPONSE_EVENT_TYPE = {\n renderStart: Symbol('render:start'),\n renderFinish: Symbol('render:finish'),\n} as const;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,MAAMA,mBAAmB,GAAG;EACjCC,WAAW,EAAEC,MAAM,CAAC,cAAc,CAAC;EACnCC,YAAY,EAAED,MAAM,CAAC,eAAe;AACtC,CAAU"}
@@ -1,35 +0,0 @@
1
- import { createBaseConfig } from "../../../config/base.js";
2
- import { KnownToken } from "../../../tokens.js";
3
- import { createSagaMiddleware } from "./../../../utils/redux-saga/index.js";
4
- import { HttpClientLogging, SagaLogging } from "./../utils/index.js";
5
-
6
- /**
7
- * Провайдер базовой конфигурации приложения.
8
- * @param resolve Функция для получения зависимости по токену.
9
- * @return Базовая конфигурация.
10
- */
11
- export function provideBaseConfig(resolve) {
12
- const source = resolve(KnownToken.Config.source);
13
- return createBaseConfig(source);
14
- }
15
-
16
- /**
17
- * Провайдер кастомной версии createSagaMiddleware из redux-saga.
18
- * @param resolve Функция для получения зависимости по токену.
19
- * @return Промежуточный слой для redux-хранилища.
20
- */
21
- export function provideSagaMiddleware(resolve) {
22
- const logger = resolve(KnownToken.logger);
23
- return createSagaMiddleware(new SagaLogging(logger));
24
- }
25
-
26
- /**
27
- * Провайдер обработчика логирования исходящих http-запросов.
28
- * @param resolve Функция для получения зависимости по токену.
29
- * @return Обработчик.
30
- */
31
- export function provideHttpClientLogHandler(resolve) {
32
- const logger = resolve(KnownToken.logger);
33
- return data => new HttpClientLogging(logger, data);
34
- }
35
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["createBaseConfig","KnownToken","createSagaMiddleware","HttpClientLogging","SagaLogging","provideBaseConfig","resolve","source","Config","provideSagaMiddleware","logger","provideHttpClientLogHandler","data"],"sources":["../../../../../src/preset/isomorphic/providers/index.ts"],"sourcesContent":["import { createBaseConfig } from '../../../config/base';\nimport { BaseConfig } from '../../../config/types';\nimport { Resolve } from '../../../di';\nimport { LogMiddlewareHandlerInit } from '../../../utils/axios/middleware/log';\nimport { KnownToken } from '../../../tokens';\nimport { createSagaMiddleware, SagaExtendedMiddleware } from '../../../utils/redux-saga';\nimport { HttpClientLogging, SagaLogging } from '../utils';\n\n/**\n * Провайдер базовой конфигурации приложения.\n * @param resolve Функция для получения зависимости по токену.\n * @return Базовая конфигурация.\n */\nexport function provideBaseConfig(resolve: Resolve): BaseConfig {\n const source = resolve(KnownToken.Config.source);\n\n return createBaseConfig(source);\n}\n\n/**\n * Провайдер кастомной версии createSagaMiddleware из redux-saga.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой для redux-хранилища.\n */\nexport function provideSagaMiddleware(resolve: Resolve): SagaExtendedMiddleware {\n const logger = resolve(KnownToken.logger);\n\n return createSagaMiddleware(new SagaLogging(logger));\n}\n\n/**\n * Провайдер обработчика логирования исходящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик.\n */\nexport function provideHttpClientLogHandler(resolve: Resolve): LogMiddlewareHandlerInit {\n const logger = resolve(KnownToken.logger);\n\n return data => new HttpClientLogging(logger, data);\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,yBAAsB;AAIvD,SAASC,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,oBAAoB,QAAgC,sCAA2B;AACxF,SAASC,iBAAiB,EAAEC,WAAW,QAAQ,qBAAU;;AAEzD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,OAAgB,EAAc;EAC9D,MAAMC,MAAM,GAAGD,OAAO,CAACL,UAAU,CAACO,MAAM,CAACD,MAAM,CAAC;EAEhD,OAAOP,gBAAgB,CAACO,MAAM,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,qBAAqBA,CAACH,OAAgB,EAA0B;EAC9E,MAAMI,MAAM,GAAGJ,OAAO,CAACL,UAAU,CAACS,MAAM,CAAC;EAEzC,OAAOR,oBAAoB,CAAC,IAAIE,WAAW,CAACM,MAAM,CAAC,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,2BAA2BA,CAACL,OAAgB,EAA4B;EACtF,MAAMI,MAAM,GAAGJ,OAAO,CAACL,UAAU,CAACS,MAAM,CAAC;EAEzC,OAAOE,IAAI,IAAI,IAAIT,iBAAiB,CAACO,MAAM,EAAEE,IAAI,CAAC;AACpD"}
@@ -1,309 +0,0 @@
1
- import Axios from 'axios';
2
- import { Breadcrumb, DetailedError } from "./../../../log/index.js";
3
- import { applyAxiosDefaults } from "./../../../utils/axios/utils/index.js";
4
- /** Реализация пула хостов. */
5
- export class HttpApiHostPool {
6
- /**
7
- * Конструктор.
8
- * @param map Карта "Название api >> Название переменной среды с хостом api".
9
- * @param source Источник конфигурации.
10
- */
11
- constructor(map, source) {
12
- this.map = map;
13
- this.source = source;
14
- }
15
-
16
- /** @inheritDoc */
17
- get(key) {
18
- const variableName = this.map[key];
19
- if (!variableName) {
20
- throw Error(`Known HTTP API not found by key "${key}"`);
21
- }
22
-
23
- // "лениво" берём переменную, именно в момент вызова (чтобы не заставлять указывать в сервисах все переменные разом)
24
- return this.source.require(variableName);
25
- }
26
- }
27
-
28
- /**
29
- * Возвращает уровень на основе статуса ответа.
30
- * @param status Статус HTTP-ответа.
31
- * @return Уровень.
32
- */
33
- export function severityFromStatus(status) {
34
- let result;
35
- if (typeof status === 'number') {
36
- switch (true) {
37
- case status >= 200 && status <= 299:
38
- result = 'info';
39
- break;
40
- case status >= 300 && status <= 499:
41
- result = 'warning';
42
- break;
43
- default:
44
- result = 'error';
45
- }
46
- } else {
47
- result = 'error';
48
- }
49
- return result;
50
- }
51
-
52
- /**
53
- * Обработчик для промежуточного слоя логирования исходящих http-запросов.
54
- * Отправляет хлебные крошки и данные ошибки, пригодные для Sentry.
55
- */
56
- export class HttpClientLogging {
57
- /**
58
- * Конструктор.
59
- * @param logger Logger.
60
- * @param data Данные запроса.
61
- */
62
- constructor(logger, data) {
63
- const config = applyAxiosDefaults(data.config, data.defaults);
64
- this.logger = logger;
65
- this.requestInfo = {
66
- ...config,
67
- readyURL: displayUrl(config.baseURL, config.url)
68
- };
69
- }
70
-
71
- /**
72
- * Отправит хлебные крошки перед запросом.
73
- */
74
- beforeRequest() {
75
- const {
76
- readyURL,
77
- method,
78
- params
79
- } = this.requestInfo;
80
- this.logger.info(new Breadcrumb({
81
- category: 'http.request',
82
- type: 'http',
83
- data: {
84
- url: readyURL,
85
- method,
86
- params
87
- },
88
- level: 'info'
89
- }));
90
- }
91
-
92
- /**
93
- * Отправит хлебные крошки после запроса.
94
- * @param data Данные ответа.
95
- */
96
- afterResponse({
97
- response
98
- }) {
99
- const {
100
- readyURL,
101
- method,
102
- params
103
- } = this.requestInfo;
104
- this.logger.info(new Breadcrumb({
105
- category: 'http.response',
106
- type: 'http',
107
- data: {
108
- url: readyURL,
109
- method,
110
- status_code: response.status,
111
- params
112
- },
113
- level: 'info'
114
- }));
115
- }
116
-
117
- /**
118
- * Отправит данные ошибки при перехвате.
119
- * @param data Данные запроса.
120
- */
121
- onCatch({
122
- error
123
- }) {
124
- if (Axios.isAxiosError(error)) {
125
- const {
126
- requestInfo
127
- } = this;
128
- const statusCode = error.response?.status || 'UNKNOWN';
129
-
130
- // @todo выяснить: нужно ли нам отправлять ответы с кодом <500 в Sentry на уровне всех команд
131
- // если да то можно добавить метод в духе errorStatusFilter(s => s !== 422)
132
- this.logger.error(new DetailedError(`HTTP request failed, status code: ${statusCode}, error message: ${error.message}`, {
133
- level: severityFromStatus(error.response?.status),
134
- context: [{
135
- key: 'Request details',
136
- data: {
137
- url: requestInfo.url,
138
- baseURL: requestInfo.baseURL,
139
- method: requestInfo.method,
140
- headers: requestInfo.headers,
141
- data: requestInfo.data,
142
- params: requestInfo.params
143
- }
144
- }, {
145
- key: 'Response details',
146
- data: {
147
- data: error.response?.data,
148
- // копируем так как в Sentry падает ошибка: **non-serializable** (TypeError: Object.getPrototypeOf(...) is null)
149
- headers: {
150
- ...error.response?.headers
151
- },
152
- error: error.toJSON()
153
- }
154
- }]
155
- }));
156
- if (typeof statusCode === 'number') {
157
- this.logger.info(new Breadcrumb({
158
- category: 'http.response',
159
- type: 'http',
160
- data: {
161
- url: requestInfo.readyURL,
162
- method: requestInfo.method,
163
- status_code: statusCode,
164
- params: requestInfo.params
165
- },
166
- level: 'error'
167
- }));
168
- }
169
- } else {
170
- this.logger.error(error);
171
- }
172
- }
173
- }
174
-
175
- /**
176
- * Лог событий запуска и выполнения redux-saga.
177
- */
178
- export class SagaLogging {
179
- /**
180
- * @param logger Logger.
181
- */
182
- constructor(logger) {
183
- this.logger = logger;
184
- }
185
-
186
- /**
187
- * При получении ошибки выполнения саги передаст ее логгеру ее с данными стека в extra.
188
- * @param error Ошибка.
189
- * @param info Инфо выполнения саги.
190
- */
191
- onSagaError(error, info) {
192
- this.logger.error(new DetailedError(error.message, {
193
- extra: {
194
- key: 'Saga stack',
195
- data: info.sagaStack
196
- }
197
- }));
198
- }
199
-
200
- /**
201
- * При получении ошибки запуска саги передаст ее логгеру.
202
- * @param error Ошибка.
203
- */
204
- onConfigError(error) {
205
- this.logger.error(error);
206
- }
207
-
208
- /**
209
- * При прерывании саги передаст информацию логгеру как ошибку.
210
- * @param info Инфо прерывания саги.
211
- */
212
- onTimeoutInterrupt({
213
- timeout
214
- }) {
215
- this.logger.error(new DetailedError(`Сага прервана по таймауту (${timeout}мс)`, {
216
- level: 'warning'
217
- }));
218
- }
219
- }
220
-
221
- /** Работа с HTTP-статусами по соглашению. */
222
- export class HttpStatus {
223
- /**
224
- * Определяет, является ли переданный статус успешным.
225
- * @param status Статус.
226
- * @return Признак.
227
- */
228
- static isOk(status) {
229
- return typeof status === 'number' && status === 200;
230
- }
231
-
232
- /**
233
- * Определяет, является ли переданный статус успешным POST.
234
- * @param status Статус.
235
- * @return Признак.
236
- */
237
- static isPostOk(status) {
238
- return typeof status === 'number' && status === 201;
239
- }
240
-
241
- /**
242
- * Определяет, является ли переданный статус успешным DELETE.
243
- * @param status Статус.
244
- * @return Признак.
245
- */
246
- static isDeleteOk(status) {
247
- return typeof status === 'number' && (status === 204 || status === 200);
248
- }
249
-
250
- /**
251
- * Возвращает новый промежуточный слой для валидации статуса HTTP-ответа.
252
- * Валидация применяется только если в конфиге запроса не указан validateStatus.
253
- * @return Промежуточный слой.
254
- */
255
- static axiosMiddleware() {
256
- return async (config, next, defaults) => {
257
- if (config.validateStatus !== undefined || defaults.validateStatus !== undefined) {
258
- // если validateStatus указан явно то не применяем валидацию по умолчанию
259
- await next(config);
260
- } else {
261
- let validateStatus = null;
262
- switch (config.method?.toLowerCase()) {
263
- case 'get':
264
- case 'put':
265
- case undefined:
266
- validateStatus = HttpStatus.isOk;
267
- break;
268
- case 'post':
269
- validateStatus = HttpStatus.isPostOk;
270
- break;
271
- case 'delete':
272
- validateStatus = HttpStatus.isDeleteOk;
273
- break;
274
- }
275
- await next({
276
- ...config,
277
- validateStatus
278
- });
279
- }
280
- };
281
- }
282
- }
283
-
284
- /**
285
- * Объединяет значения опций baseURL и url (axios) в одну строку для логирования.
286
- * @param baseURL Опция baseURL.
287
- * @param url Опция url.
288
- * @return Отображение. Не является валидным URL.
289
- */
290
- export function displayUrl(baseURL = '', url = '') {
291
- let result;
292
- switch (true) {
293
- case Boolean(baseURL && url):
294
- result = `${baseURL.replace(/\/$/, '')}/${url.replace(/^\//, '')}`;
295
- break;
296
- case Boolean(baseURL) && !url:
297
- result = baseURL;
298
- break;
299
- case !baseURL && Boolean(url):
300
- result = url;
301
- break;
302
- case !baseURL && !url:
303
- default:
304
- result = '[empty]';
305
- break;
306
- }
307
- return result;
308
- }
309
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["Axios","Breadcrumb","DetailedError","applyAxiosDefaults","HttpApiHostPool","constructor","map","source","get","key","variableName","Error","require","severityFromStatus","status","result","HttpClientLogging","logger","data","config","defaults","requestInfo","readyURL","displayUrl","baseURL","url","beforeRequest","method","params","info","category","type","level","afterResponse","response","status_code","onCatch","error","isAxiosError","statusCode","message","context","headers","toJSON","SagaLogging","onSagaError","extra","sagaStack","onConfigError","onTimeoutInterrupt","timeout","HttpStatus","isOk","isPostOk","isDeleteOk","axiosMiddleware","next","validateStatus","undefined","toLowerCase","Boolean","replace"],"sources":["../../../../../src/preset/isomorphic/utils/index.ts"],"sourcesContent":["import { SeverityLevel } from '@sentry/browser';\nimport Axios, { AxiosRequestConfig } from 'axios';\nimport type { Middleware } from 'middleware-axios';\nimport type { StrictMap } from '../types';\nimport type { ConfigSource } from '../../../config/types';\nimport { Logger, Breadcrumb, DetailedError } from '../../../log';\nimport {\n SharedData,\n DoneSharedData,\n FailSharedData,\n LogMiddlewareHandler,\n} from '../../../utils/axios/middleware/log';\nimport { applyAxiosDefaults } from '../../../utils/axios/utils';\nimport {\n SagaErrorInfo,\n SagaInterruptInfo,\n SagaMiddlewareHandler,\n} from '../../../utils/redux-saga/types';\n\n/** Реализация пула хостов. */\nexport class HttpApiHostPool<Key extends string> implements StrictMap<Key> {\n private map: Record<Key, string>;\n private source: ConfigSource;\n\n /**\n * Конструктор.\n * @param map Карта \"Название api >> Название переменной среды с хостом api\".\n * @param source Источник конфигурации.\n */\n constructor(map: Record<Key, string>, source: ConfigSource) {\n this.map = map;\n this.source = source;\n }\n\n /** @inheritDoc */\n get(key: Key): string {\n const variableName = this.map[key];\n\n if (!variableName) {\n throw Error(`Known HTTP API not found by key \"${key}\"`);\n }\n\n // \"лениво\" берём переменную, именно в момент вызова (чтобы не заставлять указывать в сервисах все переменные разом)\n return this.source.require(variableName);\n }\n}\n\n/**\n * Возвращает уровень на основе статуса ответа.\n * @param status Статус HTTP-ответа.\n * @return Уровень.\n */\nexport function severityFromStatus(status: unknown): SeverityLevel {\n let result: SeverityLevel;\n\n if (typeof status === 'number') {\n switch (true) {\n case status >= 200 && status <= 299:\n result = 'info';\n break;\n case status >= 300 && status <= 499:\n result = 'warning';\n break;\n default:\n result = 'error';\n }\n } else {\n result = 'error';\n }\n\n return result;\n}\n\n/**\n * Обработчик для промежуточного слоя логирования исходящих http-запросов.\n * Отправляет хлебные крошки и данные ошибки, пригодные для Sentry.\n */\nexport class HttpClientLogging implements LogMiddlewareHandler {\n protected logger: Logger;\n\n protected readonly requestInfo: ReturnType<typeof applyAxiosDefaults> & {\n readyURL: string;\n };\n\n /**\n * Конструктор.\n * @param logger Logger.\n * @param data Данные запроса.\n */\n constructor(logger: Logger, data: SharedData) {\n const config = applyAxiosDefaults(data.config, data.defaults);\n\n this.logger = logger;\n\n this.requestInfo = {\n ...config,\n readyURL: displayUrl(config.baseURL, config.url),\n };\n }\n\n /**\n * Отправит хлебные крошки перед запросом.\n */\n beforeRequest() {\n const { readyURL, method, params } = this.requestInfo;\n\n this.logger.info(\n new Breadcrumb({\n category: 'http.request',\n type: 'http',\n data: {\n url: readyURL,\n method,\n params,\n },\n level: 'info',\n }),\n );\n }\n\n /**\n * Отправит хлебные крошки после запроса.\n * @param data Данные ответа.\n */\n afterResponse({ response }: DoneSharedData) {\n const { readyURL, method, params } = this.requestInfo;\n\n this.logger.info(\n new Breadcrumb({\n category: 'http.response',\n type: 'http',\n data: {\n url: readyURL,\n method,\n status_code: response.status,\n params,\n },\n level: 'info',\n }),\n );\n }\n\n /**\n * Отправит данные ошибки при перехвате.\n * @param data Данные запроса.\n */\n onCatch({ error }: FailSharedData) {\n if (Axios.isAxiosError(error)) {\n const { requestInfo } = this;\n const statusCode = error.response?.status || 'UNKNOWN';\n\n // @todo выяснить: нужно ли нам отправлять ответы с кодом <500 в Sentry на уровне всех команд\n // если да то можно добавить метод в духе errorStatusFilter(s => s !== 422)\n this.logger.error(\n new DetailedError(\n `HTTP request failed, status code: ${statusCode}, error message: ${error.message}`,\n {\n level: severityFromStatus(error.response?.status),\n context: [\n {\n key: 'Request details',\n data: {\n url: requestInfo.url,\n baseURL: requestInfo.baseURL,\n method: requestInfo.method,\n headers: requestInfo.headers,\n data: requestInfo.data,\n params: requestInfo.params,\n },\n },\n {\n key: 'Response details',\n data: {\n data: error.response?.data,\n\n // копируем так как в Sentry падает ошибка: **non-serializable** (TypeError: Object.getPrototypeOf(...) is null)\n headers: { ...error.response?.headers },\n\n error: error.toJSON(),\n },\n },\n ],\n },\n ),\n );\n\n if (typeof statusCode === 'number') {\n this.logger.info(\n new Breadcrumb({\n category: 'http.response',\n type: 'http',\n data: {\n url: requestInfo.readyURL,\n method: requestInfo.method,\n status_code: statusCode,\n params: requestInfo.params,\n },\n level: 'error',\n }),\n );\n }\n } else {\n this.logger.error(error);\n }\n }\n}\n\n/**\n * Лог событий запуска и выполнения redux-saga.\n */\nexport class SagaLogging implements SagaMiddlewareHandler {\n protected logger: Logger;\n\n /**\n * @param logger Logger.\n */\n constructor(logger: Logger) {\n this.logger = logger;\n }\n\n /**\n * При получении ошибки выполнения саги передаст ее логгеру ее с данными стека в extra.\n * @param error Ошибка.\n * @param info Инфо выполнения саги.\n */\n onSagaError(error: Error, info: SagaErrorInfo) {\n this.logger.error(\n new DetailedError(error.message, {\n extra: {\n key: 'Saga stack',\n data: info.sagaStack,\n },\n }),\n );\n }\n\n /**\n * При получении ошибки запуска саги передаст ее логгеру.\n * @param error Ошибка.\n */\n onConfigError(error: Error) {\n this.logger.error(error);\n }\n\n /**\n * При прерывании саги передаст информацию логгеру как ошибку.\n * @param info Инфо прерывания саги.\n */\n onTimeoutInterrupt({ timeout }: SagaInterruptInfo) {\n this.logger.error(\n new DetailedError(`Сага прервана по таймауту (${timeout}мс)`, {\n level: 'warning',\n }),\n );\n }\n}\n\n/** Работа с HTTP-статусами по соглашению. */\nexport abstract class HttpStatus {\n /**\n * Определяет, является ли переданный статус успешным.\n * @param status Статус.\n * @return Признак.\n */\n static isOk(status: unknown): boolean {\n return typeof status === 'number' && status === 200;\n }\n\n /**\n * Определяет, является ли переданный статус успешным POST.\n * @param status Статус.\n * @return Признак.\n */\n static isPostOk(status: unknown): boolean {\n return typeof status === 'number' && status === 201;\n }\n\n /**\n * Определяет, является ли переданный статус успешным DELETE.\n * @param status Статус.\n * @return Признак.\n */\n static isDeleteOk(status: unknown): boolean {\n return typeof status === 'number' && (status === 204 || status === 200);\n }\n\n /**\n * Возвращает новый промежуточный слой для валидации статуса HTTP-ответа.\n * Валидация применяется только если в конфиге запроса не указан validateStatus.\n * @return Промежуточный слой.\n */\n static axiosMiddleware(): Middleware<unknown> {\n return async (config, next, defaults) => {\n if (config.validateStatus !== undefined || defaults.validateStatus !== undefined) {\n // если validateStatus указан явно то не применяем валидацию по умолчанию\n await next(config);\n } else {\n let validateStatus: AxiosRequestConfig['validateStatus'] = null;\n\n switch (config.method?.toLowerCase()) {\n case 'get':\n case 'put':\n case undefined:\n validateStatus = HttpStatus.isOk;\n break;\n case 'post':\n validateStatus = HttpStatus.isPostOk;\n break;\n case 'delete':\n validateStatus = HttpStatus.isDeleteOk;\n break;\n }\n\n await next({ ...config, validateStatus });\n }\n };\n }\n}\n\n/**\n * Объединяет значения опций baseURL и url (axios) в одну строку для логирования.\n * @param baseURL Опция baseURL.\n * @param url Опция url.\n * @return Отображение. Не является валидным URL.\n */\nexport function displayUrl(\n baseURL: AxiosRequestConfig['baseURL'] = '',\n url: AxiosRequestConfig['url'] = '',\n) {\n let result: string;\n\n switch (true) {\n case Boolean(baseURL && url):\n result = `${baseURL.replace(/\\/$/, '')}/${url.replace(/^\\//, '')}`;\n break;\n case Boolean(baseURL) && !url:\n result = baseURL;\n break;\n case !baseURL && Boolean(url):\n result = url;\n break;\n case !baseURL && !url:\n default:\n result = '[empty]';\n break;\n }\n\n return result;\n}\n"],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- import { createPreset } from "./../../../di/index.js";
2
- import { KnownToken } from "../../../tokens.js";
3
- import { provideSagaMiddleware, provideHttpClientLogHandler } from "./../../isomorphic/providers/index.js";
4
- import { provideHttpClientFactory, provideHandlerMain, provideSpecificParams, providePageHelmet, providePageRender } from "./providers/index.js";
5
- import { SpecificExtras } from "./utils/index.js";
6
-
7
- /**
8
- * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.
9
- * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
10
- * @todo Возможно стоит переименовать в PresetPageHandler.
11
- * @return Preset.
12
- */
13
- export function PresetHandler(customize) {
14
- // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости
15
- const preset = createPreset();
16
-
17
- // saga
18
- preset.set(KnownToken.sagaMiddleware, provideSagaMiddleware);
19
-
20
- // http client
21
- preset.set(KnownToken.Http.Client.factory, provideHttpClientFactory);
22
- preset.set(KnownToken.Http.Client.Middleware.Log.handler, provideHttpClientLogHandler);
23
-
24
- // http handler
25
- preset.set(KnownToken.Http.Handler.main, provideHandlerMain);
26
- preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);
27
- preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());
28
- preset.set(KnownToken.Http.Handler.Page.assets, () => ({
29
- js: '',
30
- css: ''
31
- }));
32
- preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);
33
- preset.set(KnownToken.Http.Handler.Page.render, providePageRender);
34
- if (customize) {
35
- customize({
36
- override: preset.set.bind(preset)
37
- });
38
- }
39
- return preset;
40
- }
41
- export { HandlerProvider } from "./utils/index.js";
42
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["createPreset","KnownToken","provideSagaMiddleware","provideHttpClientLogHandler","provideHttpClientFactory","provideHandlerMain","provideSpecificParams","providePageHelmet","providePageRender","SpecificExtras","PresetHandler","customize","preset","set","sagaMiddleware","Http","Client","factory","Middleware","Log","handler","Handler","main","Request","specificParams","Response","specificExtras","Page","assets","js","css","helmet","render","override","bind","HandlerProvider"],"sources":["../../../../../src/preset/node/handler/index.ts"],"sourcesContent":["import { Preset, createPreset } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { provideSagaMiddleware, provideHttpClientLogHandler } from '../../isomorphic/providers';\nimport { PresetTuner } from '../../isomorphic/types';\nimport {\n provideHttpClientFactory,\n provideHandlerMain,\n provideSpecificParams,\n providePageHelmet,\n providePageRender,\n} from './providers';\nimport { SpecificExtras } from './utils';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetHandler(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // saga\n preset.set(KnownToken.sagaMiddleware, provideSagaMiddleware);\n\n // http client\n preset.set(KnownToken.Http.Client.factory, provideHttpClientFactory);\n preset.set(KnownToken.Http.Client.Middleware.Log.handler, provideHttpClientLogHandler);\n\n // http handler\n preset.set(KnownToken.Http.Handler.main, provideHandlerMain);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n\nexport { HandlerProvider } from './utils';\n"],"mappings":"AAAA,SAAiBA,YAAY,QAAQ,wBAAa;AAClD,SAASC,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,qBAAqB,EAAEC,2BAA2B,QAAQ,uCAA4B;AAE/F,SACEC,wBAAwB,EACxBC,kBAAkB,EAClBC,qBAAqB,EACrBC,iBAAiB,EACjBC,iBAAiB,QACZ,sBAAa;AACpB,SAASC,cAAc,QAAQ,kBAAS;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,SAAuB,EAAU;EAC7D;EACA,MAAMC,MAAM,GAAGZ,YAAY,CAAC,CAAC;;EAE7B;EACAY,MAAM,CAACC,GAAG,CAACZ,UAAU,CAACa,cAAc,EAAEZ,qBAAqB,CAAC;;EAE5D;EACAU,MAAM,CAACC,GAAG,CAACZ,UAAU,CAACc,IAAI,CAACC,MAAM,CAACC,OAAO,EAAEb,wBAAwB,CAAC;EACpEQ,MAAM,CAACC,GAAG,CAACZ,UAAU,CAACc,IAAI,CAACC,MAAM,CAACE,UAAU,CAACC,GAAG,CAACC,OAAO,EAAEjB,2BAA2B,CAAC;;EAEtF;EACAS,MAAM,CAACC,GAAG,CAACZ,UAAU,CAACc,IAAI,CAACM,OAAO,CAACC,IAAI,EAAEjB,kBAAkB,CAAC;EAC5DO,MAAM,CAACC,GAAG,CAACZ,UAAU,CAACc,IAAI,CAACM,OAAO,CAACE,OAAO,CAACC,cAAc,EAAElB,qBAAqB,CAAC;EACjFM,MAAM,CAACC,GAAG,CAACZ,UAAU,CAACc,IAAI,CAACM,OAAO,CAACI,QAAQ,CAACC,cAAc,EAAE,MAAM,IAAIjB,cAAc,CAAC,CAAC,CAAC;EACvFG,MAAM,CAACC,GAAG,CAACZ,UAAU,CAACc,IAAI,CAACM,OAAO,CAACM,IAAI,CAACC,MAAM,EAAE,OAAO;IAAEC,EAAE,EAAE,EAAE;IAAEC,GAAG,EAAE;EAAG,CAAC,CAAC,CAAC;EAC5ElB,MAAM,CAACC,GAAG,CAACZ,UAAU,CAACc,IAAI,CAACM,OAAO,CAACM,IAAI,CAACI,MAAM,EAAExB,iBAAiB,CAAC;EAClEK,MAAM,CAACC,GAAG,CAACZ,UAAU,CAACc,IAAI,CAACM,OAAO,CAACM,IAAI,CAACK,MAAM,EAAExB,iBAAiB,CAAC;EAElE,IAAIG,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEsB,QAAQ,EAAErB,MAAM,CAACC,GAAG,CAACqB,IAAI,CAACtB,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf;AAEA,SAASuB,eAAe,QAAQ,kBAAS"}