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

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 (232) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/config/source.js +2 -0
  3. package/dist/cjs/config/source.js.map +1 -1
  4. package/dist/cjs/config/types.js.map +1 -1
  5. package/dist/cjs/http/index.js +6 -12
  6. package/dist/cjs/http/index.js.map +1 -1
  7. package/dist/cjs/http/types.js.map +1 -1
  8. package/dist/cjs/log/errors.js.map +1 -1
  9. package/dist/cjs/package.json +4 -3
  10. package/dist/cjs/preset/bun/index.js +3 -2
  11. package/dist/cjs/preset/bun/index.js.map +1 -1
  12. package/dist/cjs/preset/bun/providers/serve-middleware.js +1 -1
  13. package/dist/cjs/preset/bun/providers/serve-middleware.js.map +1 -1
  14. package/dist/cjs/preset/bun-handler/index.js +0 -2
  15. package/dist/cjs/preset/bun-handler/index.js.map +1 -1
  16. package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js +1 -2
  17. package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
  18. package/dist/cjs/preset/bun-handler/providers/handler-main.js +6 -24
  19. package/dist/cjs/preset/bun-handler/providers/handler-main.js.map +1 -1
  20. package/dist/cjs/preset/node/index.js +9 -2
  21. package/dist/cjs/preset/node/index.js.map +1 -1
  22. package/dist/cjs/preset/node/providers/express-metrics-middleware.js +1 -1
  23. package/dist/cjs/preset/node/providers/express-metrics-middleware.js.map +1 -1
  24. package/dist/cjs/preset/node/providers/main-express-app.js +62 -0
  25. package/dist/cjs/preset/node/providers/main-express-app.js.map +1 -0
  26. package/dist/cjs/preset/node/providers/{metrics-http-app.js → metrics-express-app.js} +3 -3
  27. package/dist/cjs/preset/node/providers/metrics-express-app.js.map +1 -0
  28. package/dist/cjs/preset/node/types.js.map +1 -1
  29. package/dist/cjs/preset/{server → node}/utils/get-fetch-tracing.js +2 -2
  30. package/dist/cjs/preset/node/utils/get-fetch-tracing.js.map +1 -0
  31. package/dist/cjs/preset/node/utils/get-handler-metrics.js.map +1 -0
  32. package/dist/cjs/preset/node/utils/get-page-response-format.js +1 -0
  33. package/dist/cjs/preset/node/utils/get-page-response-format.js.map +1 -1
  34. package/dist/cjs/preset/{server → node}/utils/get-serve-measuring.js +1 -1
  35. package/dist/cjs/preset/node/utils/get-serve-measuring.js.map +1 -0
  36. package/dist/cjs/preset/node-handler/index.js +2 -2
  37. package/dist/cjs/preset/node-handler/index.js.map +1 -1
  38. package/dist/cjs/preset/node-handler/providers/axios-middleware.js +1 -2
  39. package/dist/cjs/preset/node-handler/providers/axios-middleware.js.map +1 -1
  40. package/dist/cjs/preset/node-handler/providers/fetch-middleware.js +2 -3
  41. package/dist/cjs/preset/node-handler/providers/fetch-middleware.js.map +1 -1
  42. package/dist/cjs/preset/node-handler/providers/handler-main.js +1 -14
  43. package/dist/cjs/preset/node-handler/providers/handler-main.js.map +1 -1
  44. package/dist/cjs/preset/server/index.js +6 -0
  45. package/dist/cjs/preset/server/index.js.map +1 -1
  46. package/dist/cjs/preset/server/providers/fetch-middleware.js.map +1 -0
  47. package/dist/cjs/preset/server/providers/format-page-response.js +4 -1
  48. package/dist/cjs/preset/server/providers/format-page-response.js.map +1 -1
  49. package/dist/cjs/preset/server/providers/serve.js +47 -0
  50. package/dist/cjs/preset/server/providers/serve.js.map +1 -0
  51. package/dist/cjs/preset/server/types.js.map +1 -1
  52. package/dist/cjs/preset/server/utils/get-forwarded-headers.js +6 -0
  53. package/dist/cjs/preset/server/utils/get-forwarded-headers.js.map +1 -1
  54. package/dist/cjs/preset/server/utils/get-page-response-format.js +1 -0
  55. package/dist/cjs/preset/server/utils/get-page-response-format.js.map +1 -1
  56. package/dist/cjs/preset/server/utils/get-serve-error-logging.js +2 -2
  57. package/dist/cjs/preset/server/utils/get-serve-error-logging.js.map +1 -1
  58. package/dist/cjs/preset/server/utils/get-serve-logging.js +3 -4
  59. package/dist/cjs/preset/server/utils/get-serve-logging.js.map +1 -1
  60. package/dist/cjs/preset/web/providers/axios-middleware.js.map +1 -1
  61. package/dist/cjs/tokens.js +16 -5
  62. package/dist/cjs/tokens.js.map +1 -1
  63. package/dist/cjs/utils/axios/index.js +0 -7
  64. package/dist/cjs/utils/axios/index.js.map +1 -1
  65. package/dist/cjs/utils/express/handler/health-check.js.map +1 -1
  66. package/dist/cjs/utils/express/utils/index.js.map +1 -1
  67. package/dist/esm/config/source.js +1 -0
  68. package/dist/esm/config/source.js.map +1 -1
  69. package/dist/esm/config/types.js.map +1 -1
  70. package/dist/esm/http/index.js +2 -2
  71. package/dist/esm/http/index.js.map +1 -1
  72. package/dist/esm/http/types.js.map +1 -1
  73. package/dist/esm/log/errors.js.map +1 -1
  74. package/dist/esm/package.json +4 -3
  75. package/dist/esm/preset/bun/index.js +3 -2
  76. package/dist/esm/preset/bun/index.js.map +1 -1
  77. package/dist/esm/preset/bun/providers/serve-middleware.js +1 -1
  78. package/dist/esm/preset/bun/providers/serve-middleware.js.map +1 -1
  79. package/dist/esm/preset/bun-handler/index.js +0 -2
  80. package/dist/esm/preset/bun-handler/index.js.map +1 -1
  81. package/dist/esm/preset/bun-handler/providers/fetch-middleware.js +2 -3
  82. package/dist/esm/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
  83. package/dist/esm/preset/bun-handler/providers/handler-main.js +6 -24
  84. package/dist/esm/preset/bun-handler/providers/handler-main.js.map +1 -1
  85. package/dist/esm/preset/node/index.js +9 -4
  86. package/dist/esm/preset/node/index.js.map +1 -1
  87. package/dist/esm/preset/node/providers/express-metrics-middleware.js +1 -1
  88. package/dist/esm/preset/node/providers/express-metrics-middleware.js.map +1 -1
  89. package/dist/esm/preset/node/providers/main-express-app.js +56 -0
  90. package/dist/esm/preset/node/providers/main-express-app.js.map +1 -0
  91. package/dist/esm/preset/node/providers/{metrics-http-app.js → metrics-express-app.js} +2 -2
  92. package/dist/esm/preset/node/providers/metrics-express-app.js.map +1 -0
  93. package/dist/esm/preset/node/types.js.map +1 -1
  94. package/dist/esm/preset/{server → node}/utils/get-fetch-tracing.js +2 -2
  95. package/dist/esm/preset/node/utils/get-fetch-tracing.js.map +1 -0
  96. package/dist/esm/preset/node/utils/get-handler-metrics.js.map +1 -0
  97. package/dist/esm/preset/node/utils/get-page-response-format.js +1 -0
  98. package/dist/esm/preset/node/utils/get-page-response-format.js.map +1 -1
  99. package/dist/esm/preset/{server → node}/utils/get-serve-measuring.js +1 -1
  100. package/dist/esm/preset/node/utils/get-serve-measuring.js.map +1 -0
  101. package/dist/esm/preset/node-handler/index.js +2 -2
  102. package/dist/esm/preset/node-handler/index.js.map +1 -1
  103. package/dist/esm/preset/node-handler/providers/axios-middleware.js +2 -3
  104. package/dist/esm/preset/node-handler/providers/axios-middleware.js.map +1 -1
  105. package/dist/esm/preset/node-handler/providers/fetch-middleware.js +3 -4
  106. package/dist/esm/preset/node-handler/providers/fetch-middleware.js.map +1 -1
  107. package/dist/esm/preset/node-handler/providers/handler-main.js +1 -14
  108. package/dist/esm/preset/node-handler/providers/handler-main.js.map +1 -1
  109. package/dist/esm/preset/server/index.js +1 -1
  110. package/dist/esm/preset/server/index.js.map +1 -1
  111. package/dist/esm/preset/server/providers/fetch-middleware.js.map +1 -0
  112. package/dist/esm/preset/server/providers/format-page-response.js +4 -1
  113. package/dist/esm/preset/server/providers/format-page-response.js.map +1 -1
  114. package/dist/esm/preset/server/providers/serve.js +41 -0
  115. package/dist/esm/preset/server/providers/serve.js.map +1 -0
  116. package/dist/esm/preset/server/types.js.map +1 -1
  117. package/dist/esm/preset/server/utils/get-forwarded-headers.js +6 -0
  118. package/dist/esm/preset/server/utils/get-forwarded-headers.js.map +1 -1
  119. package/dist/esm/preset/server/utils/get-page-response-format.js +1 -0
  120. package/dist/esm/preset/server/utils/get-page-response-format.js.map +1 -1
  121. package/dist/esm/preset/server/utils/get-serve-error-logging.js +2 -2
  122. package/dist/esm/preset/server/utils/get-serve-error-logging.js.map +1 -1
  123. package/dist/esm/preset/server/utils/get-serve-logging.js +3 -4
  124. package/dist/esm/preset/server/utils/get-serve-logging.js.map +1 -1
  125. package/dist/esm/preset/web/providers/axios-middleware.js.map +1 -1
  126. package/dist/esm/tokens.js +16 -5
  127. package/dist/esm/tokens.js.map +1 -1
  128. package/dist/esm/utils/axios/index.js +0 -1
  129. package/dist/esm/utils/axios/index.js.map +1 -1
  130. package/dist/esm/utils/express/handler/health-check.js.map +1 -1
  131. package/dist/esm/utils/express/utils/index.js.map +1 -1
  132. package/dist/types/config/source.d.ts.map +1 -1
  133. package/dist/types/config/types.d.ts.map +1 -1
  134. package/dist/types/http/index.d.ts +3 -3
  135. package/dist/types/http/index.d.ts.map +1 -1
  136. package/dist/types/http/types.d.ts +3 -3
  137. package/dist/types/http/types.d.ts.map +1 -1
  138. package/dist/types/log/errors.d.ts +1 -1
  139. package/dist/types/log/errors.d.ts.map +1 -1
  140. package/dist/types/preset/bun/index.d.ts.map +1 -1
  141. package/dist/types/preset/bun-handler/index.d.ts.map +1 -1
  142. package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts.map +1 -1
  143. package/dist/types/preset/bun-handler/providers/handler-main.d.ts +1 -1
  144. package/dist/types/preset/bun-handler/providers/handler-main.d.ts.map +1 -1
  145. package/dist/types/preset/node/index.d.ts +1 -0
  146. package/dist/types/preset/node/index.d.ts.map +1 -1
  147. package/dist/types/preset/node/providers/main-express-app.d.ts +9 -0
  148. package/dist/types/preset/node/providers/main-express-app.d.ts.map +1 -0
  149. package/dist/types/preset/node/providers/{metrics-http-app.d.ts → metrics-express-app.d.ts} +2 -2
  150. package/dist/types/preset/node/providers/metrics-express-app.d.ts.map +1 -0
  151. package/dist/types/preset/node/types.d.ts +6 -4
  152. package/dist/types/preset/node/types.d.ts.map +1 -1
  153. package/dist/types/preset/node/utils/get-fetch-tracing.d.ts.map +1 -0
  154. package/dist/types/preset/node/utils/get-handler-metrics.d.ts.map +1 -0
  155. package/dist/types/preset/node/utils/get-page-response-format.d.ts +1 -0
  156. package/dist/types/preset/node/utils/get-page-response-format.d.ts.map +1 -1
  157. package/dist/types/preset/{server → node}/utils/get-serve-measuring.d.ts +1 -1
  158. package/dist/types/preset/node/utils/get-serve-measuring.d.ts.map +1 -0
  159. package/dist/types/preset/node-handler/providers/axios-middleware.d.ts.map +1 -1
  160. package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts.map +1 -1
  161. package/dist/types/preset/node-handler/providers/handler-main.d.ts.map +1 -1
  162. package/dist/types/preset/server/index.d.ts +2 -2
  163. package/dist/types/preset/server/index.d.ts.map +1 -1
  164. package/dist/types/preset/server/providers/fetch-middleware.d.ts.map +1 -0
  165. package/dist/types/preset/server/providers/format-page-response.d.ts.map +1 -1
  166. package/dist/types/preset/server/providers/serve.d.ts.map +1 -0
  167. package/dist/types/preset/server/types.d.ts +6 -1
  168. package/dist/types/preset/server/types.d.ts.map +1 -1
  169. package/dist/types/preset/server/utils/get-forwarded-headers.d.ts.map +1 -1
  170. package/dist/types/preset/server/utils/get-page-response-format.d.ts +1 -0
  171. package/dist/types/preset/server/utils/get-page-response-format.d.ts.map +1 -1
  172. package/dist/types/preset/server/utils/get-serve-error-logging.d.ts.map +1 -1
  173. package/dist/types/preset/server/utils/get-serve-logging.d.ts.map +1 -1
  174. package/dist/types/preset/web/providers/axios-middleware.d.ts +3 -2
  175. package/dist/types/preset/web/providers/axios-middleware.d.ts.map +1 -1
  176. package/dist/types/preset/web/providers/fetch-middleware.d.ts +1 -1
  177. package/dist/types/preset/web/providers/fetch-middleware.d.ts.map +1 -1
  178. package/dist/types/tokens.d.ts +21 -10
  179. package/dist/types/tokens.d.ts.map +1 -1
  180. package/dist/types/utils/axios/index.d.ts +0 -1
  181. package/dist/types/utils/axios/index.d.ts.map +1 -1
  182. package/dist/types/utils/express/handler/health-check.d.ts +2 -2
  183. package/dist/types/utils/express/handler/health-check.d.ts.map +1 -1
  184. package/dist/types/utils/express/utils/index.d.ts +2 -2
  185. package/dist/types/utils/express/utils/index.d.ts.map +1 -1
  186. package/package.json +4 -3
  187. package/dist/cjs/preset/bun/providers/fetch-middleware.js.map +0 -1
  188. package/dist/cjs/preset/bun/providers/serve.js +0 -33
  189. package/dist/cjs/preset/bun/providers/serve.js.map +0 -1
  190. package/dist/cjs/preset/bun-handler/providers/cookie-store.js +0 -15
  191. package/dist/cjs/preset/bun-handler/providers/cookie-store.js.map +0 -1
  192. package/dist/cjs/preset/node/providers/metrics-http-app.js.map +0 -1
  193. package/dist/cjs/preset/node-handler/providers/cookie-store.js +0 -18
  194. package/dist/cjs/preset/node-handler/providers/cookie-store.js.map +0 -1
  195. package/dist/cjs/preset/server/utils/get-fetch-tracing.js.map +0 -1
  196. package/dist/cjs/preset/server/utils/get-handler-metrics.js.map +0 -1
  197. package/dist/cjs/preset/server/utils/get-serve-measuring.js.map +0 -1
  198. package/dist/cjs/utils/axios/middleware/cookie.js +0 -28
  199. package/dist/cjs/utils/axios/middleware/cookie.js.map +0 -1
  200. package/dist/esm/preset/bun/providers/fetch-middleware.js.map +0 -1
  201. package/dist/esm/preset/bun/providers/serve.js +0 -27
  202. package/dist/esm/preset/bun/providers/serve.js.map +0 -1
  203. package/dist/esm/preset/bun-handler/providers/cookie-store.js +0 -9
  204. package/dist/esm/preset/bun-handler/providers/cookie-store.js.map +0 -1
  205. package/dist/esm/preset/node/providers/metrics-http-app.js.map +0 -1
  206. package/dist/esm/preset/node-handler/providers/cookie-store.js +0 -13
  207. package/dist/esm/preset/node-handler/providers/cookie-store.js.map +0 -1
  208. package/dist/esm/preset/server/utils/get-fetch-tracing.js.map +0 -1
  209. package/dist/esm/preset/server/utils/get-handler-metrics.js.map +0 -1
  210. package/dist/esm/preset/server/utils/get-serve-measuring.js.map +0 -1
  211. package/dist/esm/utils/axios/middleware/cookie.js +0 -22
  212. package/dist/esm/utils/axios/middleware/cookie.js.map +0 -1
  213. package/dist/types/preset/bun/providers/fetch-middleware.d.ts.map +0 -1
  214. package/dist/types/preset/bun/providers/serve.d.ts.map +0 -1
  215. package/dist/types/preset/bun-handler/providers/cookie-store.d.ts +0 -4
  216. package/dist/types/preset/bun-handler/providers/cookie-store.d.ts.map +0 -1
  217. package/dist/types/preset/node/providers/metrics-http-app.d.ts.map +0 -1
  218. package/dist/types/preset/node-handler/providers/cookie-store.d.ts +0 -9
  219. package/dist/types/preset/node-handler/providers/cookie-store.d.ts.map +0 -1
  220. package/dist/types/preset/server/utils/get-fetch-tracing.d.ts.map +0 -1
  221. package/dist/types/preset/server/utils/get-handler-metrics.d.ts.map +0 -1
  222. package/dist/types/preset/server/utils/get-serve-measuring.d.ts.map +0 -1
  223. package/dist/types/utils/axios/middleware/cookie.d.ts +0 -9
  224. package/dist/types/utils/axios/middleware/cookie.d.ts.map +0 -1
  225. /package/dist/cjs/preset/{server → node}/utils/get-handler-metrics.js +0 -0
  226. /package/dist/cjs/preset/{bun → server}/providers/fetch-middleware.js +0 -0
  227. /package/dist/esm/preset/{server → node}/utils/get-handler-metrics.js +0 -0
  228. /package/dist/esm/preset/{bun → server}/providers/fetch-middleware.js +0 -0
  229. /package/dist/types/preset/{server → node}/utils/get-fetch-tracing.d.ts +0 -0
  230. /package/dist/types/preset/{server → node}/utils/get-handler-metrics.d.ts +0 -0
  231. /package/dist/types/preset/{bun → server}/providers/fetch-middleware.d.ts +0 -0
  232. /package/dist/types/preset/{bun → server}/providers/serve.d.ts +0 -0
package/README.md CHANGED
@@ -7,6 +7,7 @@
7
7
  - react
8
8
  - redux
9
9
  - redux-saga
10
+ - fetch
10
11
  - axios
11
12
  - express
12
13
  - webpack
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createConfigSource = createConfigSource;
7
7
  var _env = require("@humanwhocodes/env");
8
+ // @ts-expect-error: https://github.com/humanwhocodes/env/issues/133 (@todo разобраться и убрать)
9
+
8
10
  /**
9
11
  * Возвращает новый источник конфигурации.
10
12
  * @param dictionary Опции.
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","names":["_env","require","createConfigSource","dictionary","source","Object","assign","__ISOMORPH_ENV__","Env"],"sources":["../../../src/config/source.ts"],"sourcesContent":["import type { ConfigSource, Dictionary } from './types';\nimport { Env } from '@humanwhocodes/env';\n\ndeclare const __ISOMORPH_ENV__: unknown;\n\n/**\n * Возвращает новый источник конфигурации.\n * @param dictionary Опции.\n * @return Источник.\n */\nexport function createConfigSource(dictionary: Dictionary): ConfigSource {\n const source: Dictionary = {};\n\n // берем все переменные из предоставленной среды\n Object.assign(source, dictionary);\n\n // докидываем зашиваемые переменные окружения\n if (typeof __ISOMORPH_ENV__ !== 'undefined') {\n Object.assign(source, __ISOMORPH_ENV__);\n }\n\n return new Env(source);\n}\n"],"mappings":";;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,UAAsB,EAAgB;EACvE,MAAMC,MAAkB,GAAG,CAAC,CAAC;;EAE7B;EACAC,MAAM,CAACC,MAAM,CAACF,MAAM,EAAED,UAAU,CAAC;;EAEjC;EACA,IAAI,OAAOI,gBAAgB,KAAK,WAAW,EAAE;IAC3CF,MAAM,CAACC,MAAM,CAACF,MAAM,EAAEG,gBAAgB,CAAC;EACzC;EAEA,OAAO,IAAIC,QAAG,CAACJ,MAAM,CAAC;AACxB"}
1
+ {"version":3,"file":"source.js","names":["_env","require","createConfigSource","dictionary","source","Object","assign","__ISOMORPH_ENV__","Env"],"sources":["../../../src/config/source.ts"],"sourcesContent":["import type { ConfigSource, Dictionary } from './types';\n\n// @ts-expect-error: https://github.com/humanwhocodes/env/issues/133 (@todo разобраться и убрать)\nimport { Env } from '@humanwhocodes/env';\n\ndeclare const __ISOMORPH_ENV__: unknown;\n\n/**\n * Возвращает новый источник конфигурации.\n * @param dictionary Опции.\n * @return Источник.\n */\nexport function createConfigSource(dictionary: Dictionary): ConfigSource {\n const source: Dictionary = {};\n\n // берем все переменные из предоставленной среды\n Object.assign(source, dictionary);\n\n // докидываем зашиваемые переменные окружения\n if (typeof __ISOMORPH_ENV__ !== 'undefined') {\n Object.assign(source, __ISOMORPH_ENV__);\n }\n\n return new Env(source);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AADA;;AAKA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,UAAsB,EAAgB;EACvE,MAAMC,MAAkB,GAAG,CAAC,CAAC;;EAE7B;EACAC,MAAM,CAACC,MAAM,CAACF,MAAM,EAAED,UAAU,CAAC;;EAEjC;EACA,IAAI,OAAOI,gBAAgB,KAAK,WAAW,EAAE;IAC3CF,MAAM,CAACC,MAAM,CAACF,MAAM,EAAEG,gBAAgB,CAAC;EACzC;EAEA,OAAO,IAAIC,QAAG,CAACJ,MAAM,CAAC;AACxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/config/types.ts"],"sourcesContent":["import type { Env } from '@humanwhocodes/env';\n\n/** Источник конфигурации. */\nexport type ConfigSource = Env;\n\n/**\n * Базовая информация о приложении, необходимая в большинстве мест.\n */\nexport interface BaseConfig {\n /** Строка, характеризующая среду выполнения, например \"production\". */\n env: string;\n\n /** Имя приложения. */\n appName: string;\n\n /** Версия приложения. */\n appVersion: string;\n}\n\n/**\n * Словарь.\n */\nexport interface Dictionary {\n readonly [key: string]: string | undefined;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/config/types.ts"],"sourcesContent":["// @ts-expect-error: https://github.com/humanwhocodes/env/issues/133 (@todo разобраться и убрать)\nimport type { Env } from '@humanwhocodes/env';\n\n/** Источник конфигурации. */\nexport type ConfigSource = Env;\n\n/**\n * Базовая информация о приложении, необходимая в большинстве мест.\n */\nexport interface BaseConfig {\n /** Строка, характеризующая среду выполнения, например \"production\". */\n env: string;\n\n /** Имя приложения. */\n appName: string;\n\n /** Версия приложения. */\n appVersion: string;\n}\n\n/**\n * Словарь.\n */\nexport interface Dictionary {\n readonly [key: string]: string | undefined;\n}\n"],"mappings":""}
@@ -33,18 +33,6 @@ Object.defineProperty(exports, "configureFetch", {
33
33
  return _fetchTools.configureFetch;
34
34
  }
35
35
  });
36
- Object.defineProperty(exports, "cookie", {
37
- enumerable: true,
38
- get: function () {
39
- return _middleware.cookie;
40
- }
41
- });
42
- Object.defineProperty(exports, "createCookieStore", {
43
- enumerable: true,
44
- get: function () {
45
- return _fetchTools.createCookieStore;
46
- }
47
- });
48
36
  Object.defineProperty(exports, "defaultHeaders", {
49
37
  enumerable: true,
50
38
  get: function () {
@@ -57,6 +45,12 @@ Object.defineProperty(exports, "log", {
57
45
  return _middleware.log;
58
46
  }
59
47
  });
48
+ Object.defineProperty(exports, "proxy", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _middleware.proxy;
52
+ }
53
+ });
60
54
  Object.defineProperty(exports, "validateStatus", {
61
55
  enumerable: true,
62
56
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_fetchTools","require","_middleware","_errors","_utils"],"sources":["../../../src/http/index.ts"],"sourcesContent":["export type {\n Handler,\n Enhancer,\n Middleware,\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n CookieStore,\n EitherResponse,\n ResponseDone,\n ResponseFail,\n ResponseErrorInit,\n} from './types';\nexport { configureFetch, applyMiddleware, createCookieStore } from '@krutoo/fetch-tools';\nexport { log, cookie, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';\nexport { StatusError, ResponseError } from './errors';\nexport { FetchUtil } from './utils';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_fetchTools","require","_middleware","_errors","_utils"],"sources":["../../../src/http/index.ts"],"sourcesContent":["export type {\n ProxyOptions,\n Handler,\n Enhancer,\n Middleware,\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n EitherResponse,\n ResponseDone,\n ResponseFail,\n ResponseErrorInit,\n} from './types';\nexport { configureFetch, applyMiddleware } from '@krutoo/fetch-tools';\nexport { log, proxy, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';\nexport { StatusError, ResponseError } from './errors';\nexport { FetchUtil } from './utils';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware, CookieStore } from '@krutoo/fetch-tools';\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n}\n\nexport interface ResponseFail<T = unknown> {\n ok: false;\n data?: T;\n error: unknown;\n status?: number;\n statusText?: string;\n}\n\nexport type EitherResponse<T> = ResponseDone<T> | ResponseFail<T>;\n\nexport interface ResponseErrorInit {\n statusCode?: number;\n redirectLocation?: string;\n logLevel?: LogLevel | null;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import type { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware } from '@krutoo/fetch-tools';\n\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n ProxyOptions,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n}\n\nexport interface ResponseFail<T = unknown> {\n ok: false;\n data?: T;\n error: unknown;\n status?: number;\n statusText?: string;\n}\n\nexport type EitherResponse<T> = ResponseDone<T> | ResponseFail<T>;\n\nexport interface ResponseErrorInit {\n statusCode?: number;\n redirectLocation?: string;\n logLevel?: LogLevel | null;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","names":["DetailedError","Error","constructor","message","data","exports","Breadcrumb","type"],"sources":["../../../src/log/errors.ts"],"sourcesContent":["import { ErrorDetails, BreadcrumbDetails } from './types';\n\n/**\n * Ошибка с данными.\n */\nexport class DetailedError extends Error {\n data: ErrorDetails;\n\n /**\n * @param message Сообщение.\n * @param data Данные.\n */\n constructor(message?: string, data: ErrorDetails = {}) {\n super(message);\n this.data = data;\n }\n}\n\n/**\n * Хлебная крошка.\n */\nexport class Breadcrumb {\n type: string;\n data: BreadcrumbDetails;\n\n /**\n * @param data Данные.\n */\n constructor(data: BreadcrumbDetails) {\n this.type = 'breadcrumb';\n this.data = data;\n }\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,aAAa,SAASC,KAAK,CAAC;EAGvC;AACF;AACA;AACA;EACEC,WAAWA,CAACC,OAAgB,EAAEC,IAAkB,GAAG,CAAC,CAAC,EAAE;IACrD,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAGA,IAAI;EAClB;AACF;;AAEA;AACA;AACA;AAFAC,OAAA,CAAAL,aAAA,GAAAA,aAAA;AAGO,MAAMM,UAAU,CAAC;EAItB;AACF;AACA;EACEJ,WAAWA,CAACE,IAAuB,EAAE;IACnC,IAAI,CAACG,IAAI,GAAG,YAAY;IACxB,IAAI,CAACH,IAAI,GAAGA,IAAI;EAClB;AACF;AAACC,OAAA,CAAAC,UAAA,GAAAA,UAAA"}
1
+ {"version":3,"file":"errors.js","names":["DetailedError","Error","constructor","message","data","exports","Breadcrumb","type"],"sources":["../../../src/log/errors.ts"],"sourcesContent":["import type { ErrorDetails, BreadcrumbDetails } from './types';\n\n/**\n * Ошибка с данными.\n */\nexport class DetailedError extends Error {\n data: ErrorDetails;\n\n /**\n * @param message Сообщение.\n * @param data Данные.\n */\n constructor(message?: string, data: ErrorDetails = {}) {\n super(message);\n this.data = data;\n }\n}\n\n/**\n * Хлебная крошка.\n */\nexport class Breadcrumb {\n type: string;\n data: BreadcrumbDetails;\n\n /**\n * @param data Данные.\n */\n constructor(data: BreadcrumbDetails) {\n this.type = 'breadcrumb';\n this.data = data;\n }\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,aAAa,SAASC,KAAK,CAAC;EAGvC;AACF;AACA;AACA;EACEC,WAAWA,CAACC,OAAgB,EAAEC,IAAkB,GAAG,CAAC,CAAC,EAAE;IACrD,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAGA,IAAI;EAClB;AACF;;AAEA;AACA;AACA;AAFAC,OAAA,CAAAL,aAAA,GAAAA,aAAA;AAGO,MAAMM,UAAU,CAAC;EAItB;AACF;AACA;EACEJ,WAAWA,CAACE,IAAuB,EAAE;IACnC,IAAI,CAACG,IAAI,GAAG,YAAY;IACxB,IAAI,CAACH,IAAI,GAAGA,IAAI;EAClB;AACF;AAACC,OAAA,CAAAC,UAAA,GAAAA,UAAA"}
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "type": "commonjs",
3
3
  "name": "@sima-land/isomorph",
4
- "version": "11.0.0-alpha.45",
4
+ "version": "11.0.0-alpha.47",
5
5
  "dependencies": {
6
- "@humanwhocodes/env": "^2.2.2",
7
- "@krutoo/fetch-tools": "^0.0.12",
6
+ "@humanwhocodes/env": "^3.0.2",
7
+ "@krutoo/fetch-tools": "^0.0.15",
8
8
  "@opentelemetry/api": "^1.4.1",
9
9
  "@opentelemetry/exporter-prometheus": "^0.38.0",
10
10
  "@opentelemetry/exporter-trace-otlp-http": "^0.39.1",
@@ -20,6 +20,7 @@
20
20
  "accepts": "^1.3.8",
21
21
  "dotenv": "^16.3.1",
22
22
  "express": "^4.18.2",
23
+ "http-proxy-middleware": "^3.0.0",
23
24
  "jsesc": "^3.0.2",
24
25
  "middleware-axios": "^2.1.6",
25
26
  "pino": "^8.14.1",
@@ -24,9 +24,9 @@ var _knownHttpApiHosts = require("../server/providers/known-http-api-hosts");
24
24
  var _ssrBridgeServerSide = require("../server/providers/ssr-bridge-server-side");
25
25
  var _configSource = require("./providers/config-source");
26
26
  var _logger = require("./providers/logger");
27
- var _serve = require("./providers/serve");
27
+ var _serve = require("../server/providers/serve");
28
28
  var _serveMetrics = require("./providers/serve-metrics");
29
- var _fetchMiddleware = require("./providers/fetch-middleware");
29
+ var _fetchMiddleware = require("../server/providers/fetch-middleware");
30
30
  var _serviceRoutes = require("./providers/service-routes");
31
31
  var _serveMiddleware = require("./providers/serve-middleware");
32
32
  var _handlerProvider = require("../server/utils/handler-provider");
@@ -61,6 +61,7 @@ function PresetBun(customize) {
61
61
  preset.set(_tokens.KnownToken.Http.serve, _serve.provideServe);
62
62
  preset.set(_tokens.KnownToken.Http.Serve.serviceRoutes, _serviceRoutes.provideServiceRoutes);
63
63
  preset.set(_tokens.KnownToken.Http.Serve.middleware, _serveMiddleware.provideServeMiddleware);
64
+ preset.set(_tokens.KnownToken.Http.Serve.Proxy.config, () => null);
64
65
 
65
66
  // http api
66
67
  preset.set(_tokens.KnownToken.Http.Api.knownHosts, _knownHttpApiHosts.provideKnownHttpApiHosts);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_di","require","_tokens","_baseConfig","_fetch","_knownHttpApiHosts","_ssrBridgeServerSide","_configSource","_logger","_serve","_serveMetrics","_fetchMiddleware","_serviceRoutes","_serveMiddleware","_handlerProvider","_getStatsHandler","PresetBun","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","logger","provideLogger","Metrics","httpHandler","provideServeMetrics","Http","fetch","provideFetch","Fetch","middleware","provideFetchMiddleware","serve","provideServe","Serve","serviceRoutes","provideServiceRoutes","provideServeMiddleware","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"sources":["../../../../src/preset/bun/index.ts"],"sourcesContent":["import { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideBaseConfig } from '../isomorphic/providers/base-config';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hosts';\nimport { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';\nimport { provideConfigSource } from './providers/config-source';\nimport { provideLogger } from './providers/logger';\nimport { provideServe } from './providers/serve';\nimport { provideServeMetrics } from './providers/serve-metrics';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideServiceRoutes } from './providers/service-routes';\nimport { provideServeMiddleware } from './providers/serve-middleware';\n\n/**\n * Возвращает preset с зависимостями для запуска приложения в Bun.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetBun(customize?: PresetTuner) {\n // @todo возможно стоит переименовать в PresetServer (так как в теории это можно использовать не только в Bun но и в Deno, Node.js)\n const preset = createPreset();\n\n // config\n preset.set(KnownToken.Config.source, provideConfigSource);\n preset.set(KnownToken.Config.base, provideBaseConfig);\n\n // log\n preset.set(KnownToken.logger, provideLogger);\n\n // tracing\n // @todo\n\n // metrics\n preset.set(KnownToken.Metrics.httpHandler, provideServeMetrics);\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n\n // http serve\n preset.set(KnownToken.Http.serve, provideServe);\n preset.set(KnownToken.Http.Serve.serviceRoutes, provideServiceRoutes);\n preset.set(KnownToken.Http.Serve.middleware, provideServeMiddleware);\n\n // http api\n preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);\n\n // ssr bridge\n preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n\n// доступные утилиты\nexport { HandlerProvider } from '../server/utils/handler-provider';\nexport { getStatsHandler } from './utils/get-stats-handler';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,aAAA,GAAAT,OAAA;AACA,IAAAU,gBAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA;AACA,IAAAY,gBAAA,GAAAZ,OAAA;AA+CA,IAAAa,gBAAA,GAAAb,OAAA;AACA,IAAAc,gBAAA,GAAAd,OAAA;AA9CA;AACA;AACA;AACA;AACA;AACO,SAASe,SAASA,CAACC,SAAuB,EAAE;EACjD;EACA,MAAMC,MAAM,GAAG,IAAAC,gBAAY,EAAC,CAAC;;EAE7B;EACAD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACC,MAAM,EAAEC,iCAAmB,CAAC;EACzDN,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACG,IAAI,EAAEC,6BAAiB,CAAC;;EAErD;EACAR,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACM,MAAM,EAAEC,qBAAa,CAAC;;EAE5C;EACA;;EAEA;EACAV,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACC,WAAW,EAAEC,iCAAmB,CAAC;;EAE/D;EACAb,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACC,KAAK,EAAEC,mBAAY,CAAC;EAC/ChB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACG,KAAK,CAACC,UAAU,EAAEC,uCAAsB,CAAC;;EAEpE;EACAnB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACM,KAAK,EAAEC,mBAAY,CAAC;EAC/CrB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACQ,KAAK,CAACC,aAAa,EAAEC,mCAAoB,CAAC;EACrExB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACQ,KAAK,CAACJ,UAAU,EAAEO,uCAAsB,CAAC;;EAEpE;EACAzB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACY,GAAG,CAACC,UAAU,EAAEC,2CAAwB,CAAC;;EAEpE;EACA5B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC0B,SAAS,CAACC,UAAU,EAAEC,+CAA0B,CAAC;EAEvE,IAAIhC,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEiC,QAAQ,EAAEhC,MAAM,CAACE,GAAG,CAAC+B,IAAI,CAACjC,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf;;AAEA"}
1
+ {"version":3,"file":"index.js","names":["_di","require","_tokens","_baseConfig","_fetch","_knownHttpApiHosts","_ssrBridgeServerSide","_configSource","_logger","_serve","_serveMetrics","_fetchMiddleware","_serviceRoutes","_serveMiddleware","_handlerProvider","_getStatsHandler","PresetBun","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","logger","provideLogger","Metrics","httpHandler","provideServeMetrics","Http","fetch","provideFetch","Fetch","middleware","provideFetchMiddleware","serve","provideServe","Serve","serviceRoutes","provideServiceRoutes","provideServeMiddleware","Proxy","config","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"sources":["../../../../src/preset/bun/index.ts"],"sourcesContent":["import { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideBaseConfig } from '../isomorphic/providers/base-config';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hosts';\nimport { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';\nimport { provideConfigSource } from './providers/config-source';\nimport { provideLogger } from './providers/logger';\nimport { provideServe } from '../server/providers/serve';\nimport { provideServeMetrics } from './providers/serve-metrics';\nimport { provideFetchMiddleware } from '../server/providers/fetch-middleware';\nimport { provideServiceRoutes } from './providers/service-routes';\nimport { provideServeMiddleware } from './providers/serve-middleware';\n\n/**\n * Возвращает preset с зависимостями для запуска приложения в Bun.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetBun(customize?: PresetTuner) {\n // @todo возможно стоит переименовать в PresetServer (так как в теории это можно использовать не только в Bun но и в Deno, Node.js)\n const preset = createPreset();\n\n // config\n preset.set(KnownToken.Config.source, provideConfigSource);\n preset.set(KnownToken.Config.base, provideBaseConfig);\n\n // log\n preset.set(KnownToken.logger, provideLogger);\n\n // tracing\n // @todo\n\n // metrics\n preset.set(KnownToken.Metrics.httpHandler, provideServeMetrics);\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n\n // http serve\n preset.set(KnownToken.Http.serve, provideServe);\n preset.set(KnownToken.Http.Serve.serviceRoutes, provideServiceRoutes);\n preset.set(KnownToken.Http.Serve.middleware, provideServeMiddleware);\n preset.set(KnownToken.Http.Serve.Proxy.config, () => null);\n\n // http api\n preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);\n\n // ssr bridge\n preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n\n// доступные утилиты\nexport { HandlerProvider } from '../server/utils/handler-provider';\nexport { getStatsHandler } from './utils/get-stats-handler';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,aAAA,GAAAT,OAAA;AACA,IAAAU,gBAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA;AACA,IAAAY,gBAAA,GAAAZ,OAAA;AAgDA,IAAAa,gBAAA,GAAAb,OAAA;AACA,IAAAc,gBAAA,GAAAd,OAAA;AA/CA;AACA;AACA;AACA;AACA;AACO,SAASe,SAASA,CAACC,SAAuB,EAAE;EACjD;EACA,MAAMC,MAAM,GAAG,IAAAC,gBAAY,EAAC,CAAC;;EAE7B;EACAD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACC,MAAM,EAAEC,iCAAmB,CAAC;EACzDN,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACG,IAAI,EAAEC,6BAAiB,CAAC;;EAErD;EACAR,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACM,MAAM,EAAEC,qBAAa,CAAC;;EAE5C;EACA;;EAEA;EACAV,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACC,WAAW,EAAEC,iCAAmB,CAAC;;EAE/D;EACAb,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACC,KAAK,EAAEC,mBAAY,CAAC;EAC/ChB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACG,KAAK,CAACC,UAAU,EAAEC,uCAAsB,CAAC;;EAEpE;EACAnB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACM,KAAK,EAAEC,mBAAY,CAAC;EAC/CrB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACQ,KAAK,CAACC,aAAa,EAAEC,mCAAoB,CAAC;EACrExB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACQ,KAAK,CAACJ,UAAU,EAAEO,uCAAsB,CAAC;EACpEzB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACQ,KAAK,CAACI,KAAK,CAACC,MAAM,EAAE,MAAM,IAAI,CAAC;;EAE1D;EACA3B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACc,GAAG,CAACC,UAAU,EAAEC,2CAAwB,CAAC;;EAEpE;EACA9B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC4B,SAAS,CAACC,UAAU,EAAEC,+CAA0B,CAAC;EAEvE,IAAIlC,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEmC,QAAQ,EAAElC,MAAM,CAACE,GAAG,CAACiC,IAAI,CAACnC,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf;;AAEA"}
@@ -8,7 +8,7 @@ var _tokens = require("../../../tokens");
8
8
  var _bun = require("@sentry/bun");
9
9
  var _getServeLogging = require("../../server/utils/get-serve-logging");
10
10
  var _getServeErrorLogging = require("../../server/utils/get-serve-error-logging");
11
- var _getServeMeasuring = require("../../server/utils/get-serve-measuring");
11
+ var _getServeMeasuring = require("../../node/utils/get-serve-measuring");
12
12
  /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
13
13
 
14
14
  function provideServeMiddleware(resolve) {
@@ -1 +1 @@
1
- {"version":3,"file":"serve-middleware.js","names":["_tokens","require","_bun","_getServeLogging","_getServeErrorLogging","_getServeMeasuring","provideServeMiddleware","resolve","config","KnownToken","Config","base","logger","request","next","runWithAsyncContext","getServeErrorLogging","getServeMeasuring","getServeLogging"],"sources":["../../../../../src/preset/bun/providers/serve-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { runWithAsyncContext } from '@sentry/bun';\nimport { ServerMiddleware } from '../../server/types';\nimport { getServeLogging } from '../../server/utils/get-serve-logging';\nimport { getServeErrorLogging } from '../../server/utils/get-serve-error-logging';\nimport { getServeMeasuring } from '../../server/utils/get-serve-measuring';\n\nexport function provideServeMiddleware(resolve: Resolve): ServerMiddleware[] {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return [\n // ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам\n (request, next) => runWithAsyncContext(async () => next(request)),\n\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getServeErrorLogging(logger),\n\n // @todo tracing\n\n // метрики\n getServeMeasuring(config),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getServeLogging(logger),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAPA;;AASO,SAASK,sBAAsBA,CAACC,OAAgB,EAAsB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACG,MAAM,CAAC;EAEzC,OAAO;EACL;EACA,CAACC,OAAO,EAAEC,IAAI,KAAK,IAAAC,wBAAmB,EAAC,YAAYD,IAAI,CAACD,OAAO,CAAC,CAAC;EAEjE;EACA,IAAAG,0CAAoB,EAACJ,MAAM,CAAC;EAE5B;;EAEA;EACA,IAAAK,oCAAiB,EAACT,MAAM,CAAC;EAEzB;EACA,IAAAU,gCAAe,EAACN,MAAM,CAAC,CACxB;AACH"}
1
+ {"version":3,"file":"serve-middleware.js","names":["_tokens","require","_bun","_getServeLogging","_getServeErrorLogging","_getServeMeasuring","provideServeMiddleware","resolve","config","KnownToken","Config","base","logger","request","next","runWithAsyncContext","getServeErrorLogging","getServeMeasuring","getServeLogging"],"sources":["../../../../../src/preset/bun/providers/serve-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { runWithAsyncContext } from '@sentry/bun';\nimport { ServerMiddleware } from '../../server/types';\nimport { getServeLogging } from '../../server/utils/get-serve-logging';\nimport { getServeErrorLogging } from '../../server/utils/get-serve-error-logging';\nimport { getServeMeasuring } from '../../node/utils/get-serve-measuring';\n\nexport function provideServeMiddleware(resolve: Resolve): ServerMiddleware[] {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return [\n // ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам\n (request, next) => runWithAsyncContext(async () => next(request)),\n\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getServeErrorLogging(logger),\n\n // @todo tracing\n\n // метрики\n getServeMeasuring(config),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getServeLogging(logger),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAPA;;AASO,SAASK,sBAAsBA,CAACC,OAAgB,EAAsB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACG,MAAM,CAAC;EAEzC,OAAO;EACL;EACA,CAACC,OAAO,EAAEC,IAAI,KAAK,IAAAC,wBAAmB,EAAC,YAAYD,IAAI,CAACD,OAAO,CAAC,CAAC;EAEjE;EACA,IAAAG,0CAAoB,EAACJ,MAAM,CAAC;EAE5B;;EAEA;EACA,IAAAK,oCAAiB,EAACT,MAAM,CAAC;EAEzB;EACA,IAAAU,gCAAe,EAACN,MAAM,CAAC,CACxB;AACH"}
@@ -15,7 +15,6 @@ var _fetchMiddleware = require("./providers/fetch-middleware");
15
15
  var _handlerMain = require("./providers/handler-main");
16
16
  var _pageHelmet = require("../server/providers/page-helmet");
17
17
  var _specificParams = require("./providers/specific-params");
18
- var _cookieStore = require("./providers/cookie-store");
19
18
  var _specificExtras = require("../server/utils/specific-extras");
20
19
  var _elementToString = require("../server/providers/element-to-string");
21
20
  var _formatPageResponse = require("../server/providers/format-page-response");
@@ -35,7 +34,6 @@ function PresetBunHandler(customize) {
35
34
  // http fetch
36
35
  preset.set(_tokens.KnownToken.Http.fetch, _fetch.provideFetch);
37
36
  preset.set(_tokens.KnownToken.Http.Fetch.abortController, _abortController.provideAbortController);
38
- preset.set(_tokens.KnownToken.Http.Fetch.cookieStore, _cookieStore.provideCookieStore);
39
37
  preset.set(_tokens.KnownToken.Http.Fetch.middleware, _fetchMiddleware.provideFetchMiddleware);
40
38
  preset.set(_tokens.KnownToken.Http.Fetch.Middleware.Log.handler, _fetchLogHandler.provideFetchLogHandler);
41
39
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_di","require","_tokens","_abortController","_fetch","_reduxMiddlewareSaga","_pageRender","_fetchLogHandler","_fetchMiddleware","_handlerMain","_pageHelmet","_specificParams","_cookieStore","_specificExtras","_elementToString","_formatPageResponse","_acceptType","_responseEvents","PresetBunHandler","customize","preset","createPreset","set","KnownToken","Http","fetch","provideFetch","Fetch","abortController","provideAbortController","cookieStore","provideCookieStore","middleware","provideFetchMiddleware","Middleware","Log","handler","provideFetchLogHandler","Handler","main","provideHandlerMain","Request","acceptType","provideAcceptType","specificParams","provideSpecificParams","Response","events","provideResponseEvents","specificExtras","SpecificExtras","Page","assets","js","css","helmet","providePageHelmet","render","providePageRender","elementToString","provideElementToString","formatResponse","provideFormatPageResponse","Redux","saga","provideReduxMiddlewareSaga","override","bind"],"sources":["../../../../src/preset/bun-handler/index.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { provideCookieStore } from './providers/cookie-store';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideAcceptType } from './providers/accept-type';\nimport { provideResponseEvents } from '../server/providers/response-events';\n\n/**\n * Возвращает preset с зависимостями для формирования обработчика входящего http-запроса.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetBunHandler(customize?: PresetTuner) {\n const preset = createPreset();\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.cookieStore, provideCookieStore);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // handler\n preset.set(KnownToken.Http.Handler.main, provideHandlerMain);\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\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 preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n // redux saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":";;;;;;AACA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA;AACA,IAAAW,YAAA,GAAAX,OAAA;AACA,IAAAY,eAAA,GAAAZ,OAAA;AACA,IAAAa,gBAAA,GAAAb,OAAA;AACA,IAAAc,mBAAA,GAAAd,OAAA;AACA,IAAAe,WAAA,GAAAf,OAAA;AACA,IAAAgB,eAAA,GAAAhB,OAAA;AAlBA;;AAoBA;AACA;AACA;AACA;AACA;AACA;AACO,SAASiB,gBAAgBA,CAACC,SAAuB,EAAE;EACxD,MAAMC,MAAM,GAAG,IAAAC,gBAAY,EAAC,CAAC;;EAE7B;EACAD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACC,KAAK,EAAEC,mBAAY,CAAC;EAC/CN,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACG,KAAK,CAACC,eAAe,EAAEC,uCAAsB,CAAC;EACzET,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACG,KAAK,CAACG,WAAW,EAAEC,+BAAkB,CAAC;EACjEX,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACG,KAAK,CAACK,UAAU,EAAEC,uCAAsB,CAAC;EACpEb,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACG,KAAK,CAACO,UAAU,CAACC,GAAG,CAACC,OAAO,EAAEC,uCAAsB,CAAC;;EAEhF;EACAjB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACc,OAAO,CAACC,IAAI,EAAEC,+BAAkB,CAAC;EAC5DpB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACc,OAAO,CAACG,OAAO,CAACC,UAAU,EAAEC,6BAAiB,CAAC;EACzEvB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACc,OAAO,CAACG,OAAO,CAACG,cAAc,EAAEC,qCAAqB,CAAC;EACjFzB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACc,OAAO,CAACQ,QAAQ,CAACC,MAAM,EAAEC,qCAAqB,CAAC;EAC1E5B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACc,OAAO,CAACQ,QAAQ,CAACG,cAAc,EAAE,MAAM,IAAIC,8BAAc,CAAC,CAAC,CAAC;EACvF9B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACc,OAAO,CAACa,IAAI,CAACC,MAAM,EAAE,OAAO;IAAEC,EAAE,EAAE,EAAE;IAAEC,GAAG,EAAE;EAAG,CAAC,CAAC,CAAC;EAC5ElC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACc,OAAO,CAACa,IAAI,CAACI,MAAM,EAAEC,6BAAiB,CAAC;EAClEpC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACc,OAAO,CAACa,IAAI,CAACM,MAAM,EAAEC,6BAAiB,CAAC;EAClEtC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACc,OAAO,CAACa,IAAI,CAACQ,eAAe,EAAEC,uCAAsB,CAAC;EAChFxC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,IAAI,CAACc,OAAO,CAACa,IAAI,CAACU,cAAc,EAAEC,6CAAyB,CAAC;;EAElF;EACA1C,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACwC,KAAK,CAAC7B,UAAU,CAAC8B,IAAI,EAAEC,+CAA0B,CAAC;EAExE,IAAI9C,SAAS,EAAE;IACbA,SAAS,CAAC;MAAE+C,QAAQ,EAAE9C,MAAM,CAACE,GAAG,CAAC6C,IAAI,CAAC/C,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf"}
1
+ {"version":3,"file":"index.js","names":["_di","require","_tokens","_abortController","_fetch","_reduxMiddlewareSaga","_pageRender","_fetchLogHandler","_fetchMiddleware","_handlerMain","_pageHelmet","_specificParams","_specificExtras","_elementToString","_formatPageResponse","_acceptType","_responseEvents","PresetBunHandler","customize","preset","createPreset","set","KnownToken","Http","fetch","provideFetch","Fetch","abortController","provideAbortController","middleware","provideFetchMiddleware","Middleware","Log","handler","provideFetchLogHandler","Handler","main","provideHandlerMain","Request","acceptType","provideAcceptType","specificParams","provideSpecificParams","Response","events","provideResponseEvents","specificExtras","SpecificExtras","Page","assets","js","css","helmet","providePageHelmet","render","providePageRender","elementToString","provideElementToString","formatResponse","provideFormatPageResponse","Redux","saga","provideReduxMiddlewareSaga","override","bind"],"sources":["../../../../src/preset/bun-handler/index.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideAcceptType } from './providers/accept-type';\nimport { provideResponseEvents } from '../server/providers/response-events';\n\n/**\n * Возвращает preset с зависимостями для формирования обработчика входящего http-запроса.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetBunHandler(customize?: PresetTuner) {\n const preset = createPreset();\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // handler\n preset.set(KnownToken.Http.Handler.main, provideHandlerMain);\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\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 preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n // redux saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"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"}
@@ -16,13 +16,12 @@ function provideFetchMiddleware(resolve) {
16
16
  const config = resolve(_tokens.KnownToken.Config.base);
17
17
  const context = resolve(_tokens.KnownToken.Http.Handler.context);
18
18
  const logHandler = resolve(_tokens.KnownToken.Http.Fetch.Middleware.Log.handler);
19
- const cookieStore = resolve(_tokens.KnownToken.Http.Fetch.cookieStore);
20
19
  const abortController = resolve(_tokens.KnownToken.Http.Fetch.abortController);
21
20
  return [
22
21
  // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше
23
22
  (0, _getFetchErrorLogging.getFetchErrorLogging)(logHandler),
24
23
  // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса
25
- (0, _getFetchExtraAborting.getFetchExtraAborting)(abortController), (0, _http.cookie)(cookieStore), (0, _http.defaultHeaders)((0, _getForwardedHeaders.getForwardedHeaders)(config, context.request)),
24
+ (0, _getFetchExtraAborting.getFetchExtraAborting)(abortController), (0, _http.defaultHeaders)((0, _getForwardedHeaders.getForwardedHeaders)(config, context.request)),
26
25
  // @todo tracing
27
26
 
28
27
  // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-middleware.js","names":["_tokens","require","_http","_getFetchErrorLogging","_getFetchExtraAborting","_getFetchLogging","_getForwardedHeaders","provideFetchMiddleware","resolve","config","KnownToken","Config","base","context","Http","Handler","logHandler","Fetch","Middleware","Log","handler","cookieStore","abortController","getFetchErrorLogging","getFetchExtraAborting","cookie","defaultHeaders","getForwardedHeaders","request","getFetchLogging"],"sources":["../../../../../src/preset/bun-handler/providers/fetch-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Middleware, cookie, defaultHeaders } from '../../../http';\nimport { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';\nimport { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';\nimport { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';\nimport { getForwardedHeaders } from '../../server/utils/get-forwarded-headers';\n\nexport function provideFetchMiddleware(resolve: Resolve): Middleware[] {\n const config = resolve(KnownToken.Config.base);\n const context = resolve(KnownToken.Http.Handler.context);\n const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);\n const cookieStore = resolve(KnownToken.Http.Fetch.cookieStore);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getFetchErrorLogging(logHandler),\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n getFetchExtraAborting(abortController),\n\n cookie(cookieStore),\n\n defaultHeaders(getForwardedHeaders(config, context.request)),\n\n // @todo tracing\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getFetchLogging(logHandler),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AAPA;;AASO,SAASM,sBAAsBA,CAACC,OAAgB,EAAgB;EACrE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,OAAO,GAAGL,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;EACxD,MAAMG,UAAU,GAAGR,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACxE,MAAMC,WAAW,GAAGb,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACI,WAAW,CAAC;EAC9D,MAAMC,eAAe,GAAGd,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACK,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,IAAAC,0CAAoB,EAACP,UAAU,CAAC;EAEhC;EACA,IAAAQ,4CAAqB,EAACF,eAAe,CAAC,EAEtC,IAAAG,YAAM,EAACJ,WAAW,CAAC,EAEnB,IAAAK,oBAAc,EAAC,IAAAC,wCAAmB,EAAClB,MAAM,EAAEI,OAAO,CAACe,OAAO,CAAC,CAAC;EAE5D;;EAEA;EACA,IAAAC,gCAAe,EAACb,UAAU,CAAC,CAC5B;AACH"}
1
+ {"version":3,"file":"fetch-middleware.js","names":["_tokens","require","_http","_getFetchErrorLogging","_getFetchExtraAborting","_getFetchLogging","_getForwardedHeaders","provideFetchMiddleware","resolve","config","KnownToken","Config","base","context","Http","Handler","logHandler","Fetch","Middleware","Log","handler","abortController","getFetchErrorLogging","getFetchExtraAborting","defaultHeaders","getForwardedHeaders","request","getFetchLogging"],"sources":["../../../../../src/preset/bun-handler/providers/fetch-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Middleware, defaultHeaders } from '../../../http';\nimport { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';\nimport { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';\nimport { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';\nimport { getForwardedHeaders } from '../../server/utils/get-forwarded-headers';\n\nexport function provideFetchMiddleware(resolve: Resolve): Middleware[] {\n const config = resolve(KnownToken.Config.base);\n const context = resolve(KnownToken.Http.Handler.context);\n const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getFetchErrorLogging(logHandler),\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n getFetchExtraAborting(abortController),\n\n defaultHeaders(getForwardedHeaders(config, context.request)),\n\n // @todo tracing\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getFetchLogging(logHandler),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AAPA;;AASO,SAASM,sBAAsBA,CAACC,OAAgB,EAAgB;EACrE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,OAAO,GAAGL,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;EACxD,MAAMG,UAAU,GAAGR,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACxE,MAAMC,eAAe,GAAGb,OAAO,CAACE,kBAAU,CAACI,IAAI,CAACG,KAAK,CAACI,eAAe,CAAC;EAEtE,OAAO;EACL;EACA,IAAAC,0CAAoB,EAACN,UAAU,CAAC;EAEhC;EACA,IAAAO,4CAAqB,EAACF,eAAe,CAAC,EAEtC,IAAAG,oBAAc,EAAC,IAAAC,wCAAmB,EAAChB,MAAM,EAAEI,OAAO,CAACa,OAAO,CAAC,CAAC;EAE5D;;EAEA;EACA,IAAAC,gCAAe,EAACX,UAAU,CAAC,CAC5B;AACH"}
@@ -16,23 +16,13 @@ function provideHandlerMain(resolve) {
16
16
  const logger = resolve(_tokens.KnownToken.logger);
17
17
  const assetsInit = resolve(_tokens.KnownToken.Http.Handler.Page.assets);
18
18
  const render = resolve(_tokens.KnownToken.Http.Handler.Page.render);
19
- const extras = resolve(_tokens.KnownToken.Http.Handler.Response.specificExtras);
20
19
  const Helmet = resolve(_tokens.KnownToken.Http.Handler.Page.helmet);
21
20
  const abortController = resolve(_tokens.KnownToken.Http.Fetch.abortController);
22
21
  const formatResponse = resolve(_tokens.KnownToken.Http.Handler.Page.formatResponse);
23
-
24
- // @todo https://github.com/sima-land/isomorph/issues/69
25
- // const cookieStore = resolve(KnownToken.Http.Fetch.cookieStore);
26
- // const forwardedSetCookie: string[] = [];
27
- // const unsubscribeCookieStore = cookieStore.subscribe(setCookieList => {
28
- // forwardedSetCookie.push(...setCookieList);
29
- // });
30
-
31
22
  const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;
32
23
  const handler = async () => {
33
24
  try {
34
25
  const assets = await getAssets();
35
- const meta = extras.getMeta();
36
26
  const jsx = /*#__PURE__*/(0, _jsxRuntime.jsx)(_regularHelmet.HelmetContext.Provider, {
37
27
  value: {
38
28
  title: config.appName,
@@ -45,7 +35,7 @@ function provideHandlerMain(resolve) {
45
35
  const {
46
36
  body,
47
37
  headers
48
- } = await formatResponse(jsx, assets, meta);
38
+ } = await formatResponse(jsx, assets);
49
39
  return new Response(body, {
50
40
  headers
51
41
  });
@@ -72,21 +62,13 @@ function provideHandlerMain(resolve) {
72
62
  }
73
63
  };
74
64
  const enhancer = (0, _http.applyMiddleware)(
75
- // @todo https://github.com/sima-land/isomorph/issues/69
76
- // async (request, next) => {
77
- // const response = await next(request);
78
- // for (const item of forwardedSetCookie) {
79
- // response.headers.append('set-cookie', item);
80
- // }
81
- // unsubscribeCookieStore();
82
- // return response;
83
- // },
84
-
85
65
  // ВАЖНО: прерываем исходящие в рамках обработчика http-запросы
86
66
  async (request, next) => {
87
- const response = await next(request);
88
- abortController.abort();
89
- return response;
67
+ try {
68
+ return await next(request);
69
+ } finally {
70
+ abortController.abort();
71
+ }
90
72
  });
91
73
  return enhancer(handler);
92
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler-main.js","names":["_tokens","require","_http","_regularHelmet","_formatHandlerError","_jsxRuntime","provideHandlerMain","resolve","config","KnownToken","Config","base","logger","assetsInit","Http","Handler","Page","assets","render","extras","Response","specificExtras","Helmet","helmet","abortController","Fetch","formatResponse","getAssets","handler","meta","getMeta","jsx","HelmetContext","Provider","value","title","appName","children","body","headers","error","response","log","formatHandlerError","level","status","redirectLocation","Location","enhancer","applyMiddleware","request","next","abort"],"sources":["../../../../../src/preset/bun-handler/providers/handler-main.tsx"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { applyMiddleware } from '../../../http';\nimport { HelmetContext } from '../../server/utils/regular-helmet';\nimport { formatHandlerError } from '../../server/utils/format-handler-error';\n\nexport function provideHandlerMain(resolve: Resolve) {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n const assetsInit = resolve(KnownToken.Http.Handler.Page.assets);\n const render = resolve(KnownToken.Http.Handler.Page.render);\n const extras = resolve(KnownToken.Http.Handler.Response.specificExtras);\n const Helmet = resolve(KnownToken.Http.Handler.Page.helmet);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n const formatResponse = resolve(KnownToken.Http.Handler.Page.formatResponse);\n\n // @todo https://github.com/sima-land/isomorph/issues/69\n // const cookieStore = resolve(KnownToken.Http.Fetch.cookieStore);\n // const forwardedSetCookie: string[] = [];\n // const unsubscribeCookieStore = cookieStore.subscribe(setCookieList => {\n // forwardedSetCookie.push(...setCookieList);\n // });\n\n const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;\n\n const handler = async (): Promise<Response> => {\n try {\n const assets = await getAssets();\n const meta = extras.getMeta();\n\n const jsx = (\n <HelmetContext.Provider value={{ title: config.appName, assets }}>\n <Helmet>{await render()}</Helmet>\n </HelmetContext.Provider>\n );\n\n const { body, headers } = await formatResponse(jsx, assets, meta);\n\n return new Response(body, { headers });\n } catch (error) {\n const { response, log } = formatHandlerError(error);\n\n if (log.level && logger[log.level]) {\n logger[log.level](error);\n }\n\n if (response.status > 299 && response.status < 400 && response.redirectLocation) {\n return new Response(null, {\n status: response.status,\n headers: {\n Location: response.redirectLocation,\n },\n });\n } else {\n return new Response(response.body, {\n status: response.status,\n });\n }\n }\n };\n\n const enhancer = applyMiddleware(\n // @todo https://github.com/sima-land/isomorph/issues/69\n // async (request, next) => {\n // const response = await next(request);\n // for (const item of forwardedSetCookie) {\n // response.headers.append('set-cookie', item);\n // }\n // unsubscribeCookieStore();\n // return response;\n // },\n\n // ВАЖНО: прерываем исходящие в рамках обработчика http-запросы\n async (request, next) => {\n const response = await next(request);\n\n abortController.abort();\n\n return response;\n },\n );\n\n return enhancer(handler);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"handler-main.js","names":["_tokens","require","_http","_regularHelmet","_formatHandlerError","_jsxRuntime","provideHandlerMain","resolve","config","KnownToken","Config","base","logger","assetsInit","Http","Handler","Page","assets","render","Helmet","helmet","abortController","Fetch","formatResponse","getAssets","handler","jsx","HelmetContext","Provider","value","title","appName","children","body","headers","Response","error","response","log","formatHandlerError","level","status","redirectLocation","Location","enhancer","applyMiddleware","request","next","abort"],"sources":["../../../../../src/preset/bun-handler/providers/handler-main.tsx"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { applyMiddleware } from '../../../http';\nimport { HelmetContext } from '../../server/utils/regular-helmet';\nimport { formatHandlerError } from '../../server/utils/format-handler-error';\n\nexport function provideHandlerMain(resolve: Resolve) {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n const assetsInit = resolve(KnownToken.Http.Handler.Page.assets);\n const render = resolve(KnownToken.Http.Handler.Page.render);\n const Helmet = resolve(KnownToken.Http.Handler.Page.helmet);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n const formatResponse = resolve(KnownToken.Http.Handler.Page.formatResponse);\n\n const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;\n\n const handler = async (): Promise<Response> => {\n try {\n const assets = await getAssets();\n\n const jsx = (\n <HelmetContext.Provider value={{ title: config.appName, assets }}>\n <Helmet>{await render()}</Helmet>\n </HelmetContext.Provider>\n );\n\n const { body, headers } = await formatResponse(jsx, assets);\n\n return new Response(body, { headers });\n } catch (error) {\n const { response, log } = formatHandlerError(error);\n\n if (log.level && logger[log.level]) {\n logger[log.level](error);\n }\n\n if (response.status > 299 && response.status < 400 && response.redirectLocation) {\n return new Response(null, {\n status: response.status,\n headers: {\n Location: response.redirectLocation,\n },\n });\n } else {\n return new Response(response.body, {\n status: response.status,\n });\n }\n }\n };\n\n const enhancer = applyMiddleware(\n // ВАЖНО: прерываем исходящие в рамках обработчика http-запросы\n async (request, next) => {\n try {\n return await next(request);\n } finally {\n abortController.abort();\n }\n },\n );\n\n return enhancer(handler);\n}\n"],"mappings":"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"}
@@ -43,12 +43,13 @@ var _expressRequestMiddleware = require("./providers/express-request-middleware"
43
43
  var _expressTracingMiddleware = require("./providers/express-tracing-middleware");
44
44
  var _knownHttpApiHosts = require("../server/providers/known-http-api-hosts");
45
45
  var _logger = require("./providers/logger");
46
- var _metricsHttpApp = require("./providers/metrics-http-app");
46
+ var _metricsExpressApp = require("./providers/metrics-express-app");
47
47
  var _spanExporter = require("./providers/span-exporter");
48
48
  var _ssrBridgeServerSide = require("../server/providers/ssr-bridge-server-side");
49
49
  var _tracer = require("./providers/tracer");
50
50
  var _tracerProvider = require("./providers/tracer-provider");
51
51
  var _tracerProviderResource = require("./providers/tracer-provider-resource");
52
+ var _mainExpressApp = require("./providers/main-express-app");
52
53
  var _getClientIp = require("./utils/get-client-ip");
53
54
  var _getForwardedHeaders = require("./utils/get-forwarded-headers");
54
55
  var _getPageResponseFormat = require("./utils/get-page-response-format");
@@ -76,17 +77,23 @@ function PresetNode(customize) {
76
77
  preset.set(_tokens.KnownToken.Tracing.tracerProviderResource, _tracerProviderResource.provideTracerProviderResource);
77
78
 
78
79
  // metrics
79
- preset.set(_tokens.KnownToken.Metrics.httpApp, _metricsHttpApp.provideMetricsHttpApp);
80
+ preset.set(_tokens.KnownToken.Metrics.expressApp, _metricsExpressApp.provideMetricsExpressApp);
80
81
 
81
82
  // fetch
82
83
  preset.set(_tokens.KnownToken.Http.fetch, _fetch.provideFetch);
83
84
  preset.set(_tokens.KnownToken.Http.Fetch.middleware, () => []);
85
+ preset.set(_tokens.KnownToken.Http.Serve.Proxy.config, () => null);
84
86
 
85
87
  // axios
86
88
  preset.set(_tokens.KnownToken.Axios.factory, _axiosFactory.provideAxiosFactory);
87
89
  preset.set(_tokens.KnownToken.Axios.middleware, () => []);
88
90
 
89
91
  // express
92
+ preset.set(_tokens.KnownToken.Express.app, _mainExpressApp.provideMainExpressApp);
93
+ preset.set(_tokens.KnownToken.Express.pageRoutes, () => []);
94
+ preset.set(_tokens.KnownToken.Express.serviceRoutes, resolve => [['/healthcheck', resolve(_tokens.KnownToken.Express.Handlers.healthCheck)]]);
95
+ preset.set(_tokens.KnownToken.Express.middleware, resolve => [resolve(_tokens.KnownToken.Express.Middleware.request), resolve(_tokens.KnownToken.Express.Middleware.log), resolve(_tokens.KnownToken.Express.Middleware.metrics), resolve(_tokens.KnownToken.Express.Middleware.tracing)]);
96
+ preset.set(_tokens.KnownToken.Express.endMiddleware, resolve => [resolve(_tokens.KnownToken.Express.Middleware.error)]);
90
97
  preset.set(_tokens.KnownToken.Express.factory, _expressFactory.provideExpressFactory);
91
98
  preset.set(_tokens.KnownToken.Express.Handlers.healthCheck, _healthCheck.healthCheck);
92
99
  preset.set(_tokens.KnownToken.Express.Middleware.request, _expressRequestMiddleware.provideExpressRequestMiddleware);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_tokens","require","_axiosFactory","_fetch","_baseConfig","_di","_healthCheck","_configSource","_expressErrorMiddleware","_expressFactory","_expressLogMiddleware","_expressMetricsMiddleware","_expressRequestMiddleware","_expressTracingMiddleware","_knownHttpApiHosts","_logger","_metricsHttpApp","_spanExporter","_ssrBridgeServerSide","_tracer","_tracerProvider","_tracerProviderResource","_getClientIp","_getForwardedHeaders","_getPageResponseFormat","_handlerProvider","PresetNode","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","logger","provideLogger","Tracing","tracer","provideTracer","spanExporter","provideSpanExporter","tracerProvider","provideTracerProvider","tracerProviderResource","provideTracerProviderResource","Metrics","httpApp","provideMetricsHttpApp","Http","fetch","provideFetch","Fetch","middleware","Axios","factory","provideAxiosFactory","Express","provideExpressFactory","Handlers","healthCheck","Middleware","request","provideExpressRequestMiddleware","log","provideExpressLogMiddleware","metrics","provideExpressMetricsMiddleware","tracing","provideExpressTracingMiddleware","error","provideExpressErrorMiddleware","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"sources":["../../../../src/preset/node/index.ts"],"sourcesContent":["import { KnownToken } from '../../tokens';\nimport { provideAxiosFactory } from '../isomorphic/providers/axios-factory';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideBaseConfig } from '../isomorphic/providers/base-config';\nimport { Preset, createPreset } from '../../di';\nimport { PresetTuner } from '../isomorphic/types';\nimport { healthCheck } from '../../utils/express/handler/health-check';\nimport { provideConfigSource } from './providers/config-source';\nimport { provideExpressErrorMiddleware } from './providers/express-error-middleware';\nimport { provideExpressFactory } from './providers/express-factory';\nimport { provideExpressLogMiddleware } from './providers/express-log-middleware';\nimport { provideExpressMetricsMiddleware } from './providers/express-metrics-middleware';\nimport { provideExpressRequestMiddleware } from './providers/express-request-middleware';\nimport { provideExpressTracingMiddleware } from './providers/express-tracing-middleware';\nimport { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hosts';\nimport { provideLogger } from './providers/logger';\nimport { provideMetricsHttpApp } from './providers/metrics-http-app';\nimport { provideSpanExporter } from './providers/span-exporter';\nimport { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';\nimport { provideTracer } from './providers/tracer';\nimport { provideTracerProvider } from './providers/tracer-provider';\nimport { provideTracerProviderResource } from './providers/tracer-provider-resource';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetNode(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // config\n preset.set(KnownToken.Config.source, provideConfigSource);\n preset.set(KnownToken.Config.base, provideBaseConfig);\n\n // log\n preset.set(KnownToken.logger, provideLogger);\n\n // tracing\n preset.set(KnownToken.Tracing.tracer, provideTracer);\n preset.set(KnownToken.Tracing.spanExporter, provideSpanExporter);\n preset.set(KnownToken.Tracing.tracerProvider, provideTracerProvider);\n preset.set(KnownToken.Tracing.tracerProviderResource, provideTracerProviderResource);\n\n // metrics\n preset.set(KnownToken.Metrics.httpApp, provideMetricsHttpApp);\n\n // fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, () => []);\n\n // axios\n preset.set(KnownToken.Axios.factory, provideAxiosFactory);\n preset.set(KnownToken.Axios.middleware, () => []);\n\n // express\n preset.set(KnownToken.Express.factory, provideExpressFactory);\n preset.set(KnownToken.Express.Handlers.healthCheck, healthCheck);\n preset.set(KnownToken.Express.Middleware.request, provideExpressRequestMiddleware);\n preset.set(KnownToken.Express.Middleware.log, provideExpressLogMiddleware);\n preset.set(KnownToken.Express.Middleware.metrics, provideExpressMetricsMiddleware);\n preset.set(KnownToken.Express.Middleware.tracing, provideExpressTracingMiddleware);\n preset.set(KnownToken.Express.Middleware.error, provideExpressErrorMiddleware);\n\n // http api\n preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);\n\n // ssr bridge\n preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n\n// доступные утилиты\nexport { getClientIp } from './utils/get-client-ip';\nexport { getForwardedHeaders } from './utils/get-forwarded-headers';\nexport { getPageResponseFormat } from './utils/get-page-response-format';\nexport { HandlerProvider } from './utils/handler-provider';\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_tokens","require","_axiosFactory","_fetch","_baseConfig","_di","_healthCheck","_configSource","_expressErrorMiddleware","_expressFactory","_expressLogMiddleware","_expressMetricsMiddleware","_expressRequestMiddleware","_expressTracingMiddleware","_knownHttpApiHosts","_logger","_metricsExpressApp","_spanExporter","_ssrBridgeServerSide","_tracer","_tracerProvider","_tracerProviderResource","_mainExpressApp","_getClientIp","_getForwardedHeaders","_getPageResponseFormat","_handlerProvider","PresetNode","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","logger","provideLogger","Tracing","tracer","provideTracer","spanExporter","provideSpanExporter","tracerProvider","provideTracerProvider","tracerProviderResource","provideTracerProviderResource","Metrics","expressApp","provideMetricsExpressApp","Http","fetch","provideFetch","Fetch","middleware","Serve","Proxy","config","Axios","factory","provideAxiosFactory","Express","app","provideMainExpressApp","pageRoutes","serviceRoutes","resolve","Handlers","healthCheck","Middleware","request","log","metrics","tracing","endMiddleware","error","provideExpressFactory","provideExpressRequestMiddleware","provideExpressLogMiddleware","provideExpressMetricsMiddleware","provideExpressTracingMiddleware","provideExpressErrorMiddleware","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"sources":["../../../../src/preset/node/index.ts"],"sourcesContent":["import { KnownToken } from '../../tokens';\nimport { provideAxiosFactory } from '../isomorphic/providers/axios-factory';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideBaseConfig } from '../isomorphic/providers/base-config';\nimport { Preset, createPreset } from '../../di';\nimport { PresetTuner } from '../isomorphic/types';\nimport { healthCheck } from '../../utils/express/handler/health-check';\nimport { provideConfigSource } from './providers/config-source';\nimport { provideExpressErrorMiddleware } from './providers/express-error-middleware';\nimport { provideExpressFactory } from './providers/express-factory';\nimport { provideExpressLogMiddleware } from './providers/express-log-middleware';\nimport { provideExpressMetricsMiddleware } from './providers/express-metrics-middleware';\nimport { provideExpressRequestMiddleware } from './providers/express-request-middleware';\nimport { provideExpressTracingMiddleware } from './providers/express-tracing-middleware';\nimport { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hosts';\nimport { provideLogger } from './providers/logger';\nimport { provideMetricsExpressApp } from './providers/metrics-express-app';\nimport { provideSpanExporter } from './providers/span-exporter';\nimport { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';\nimport { provideTracer } from './providers/tracer';\nimport { provideTracerProvider } from './providers/tracer-provider';\nimport { provideTracerProviderResource } from './providers/tracer-provider-resource';\nimport { provideMainExpressApp } from './providers/main-express-app';\nimport { ExpressRouteList } from './types';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetNode(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // config\n preset.set(KnownToken.Config.source, provideConfigSource);\n preset.set(KnownToken.Config.base, provideBaseConfig);\n\n // log\n preset.set(KnownToken.logger, provideLogger);\n\n // tracing\n preset.set(KnownToken.Tracing.tracer, provideTracer);\n preset.set(KnownToken.Tracing.spanExporter, provideSpanExporter);\n preset.set(KnownToken.Tracing.tracerProvider, provideTracerProvider);\n preset.set(KnownToken.Tracing.tracerProviderResource, provideTracerProviderResource);\n\n // metrics\n preset.set(KnownToken.Metrics.expressApp, provideMetricsExpressApp);\n\n // fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, () => []);\n preset.set(KnownToken.Http.Serve.Proxy.config, () => null);\n\n // axios\n preset.set(KnownToken.Axios.factory, provideAxiosFactory);\n preset.set(KnownToken.Axios.middleware, () => []);\n\n // express\n preset.set(KnownToken.Express.app, provideMainExpressApp);\n preset.set(KnownToken.Express.pageRoutes, () => []);\n preset.set(\n KnownToken.Express.serviceRoutes,\n (resolve): ExpressRouteList => [\n ['/healthcheck', resolve(KnownToken.Express.Handlers.healthCheck)],\n ],\n );\n preset.set(KnownToken.Express.middleware, resolve => [\n resolve(KnownToken.Express.Middleware.request),\n resolve(KnownToken.Express.Middleware.log),\n resolve(KnownToken.Express.Middleware.metrics),\n resolve(KnownToken.Express.Middleware.tracing),\n ]);\n preset.set(KnownToken.Express.endMiddleware, resolve => [\n resolve(KnownToken.Express.Middleware.error),\n ]);\n preset.set(KnownToken.Express.factory, provideExpressFactory);\n preset.set(KnownToken.Express.Handlers.healthCheck, healthCheck);\n preset.set(KnownToken.Express.Middleware.request, provideExpressRequestMiddleware);\n preset.set(KnownToken.Express.Middleware.log, provideExpressLogMiddleware);\n preset.set(KnownToken.Express.Middleware.metrics, provideExpressMetricsMiddleware);\n preset.set(KnownToken.Express.Middleware.tracing, provideExpressTracingMiddleware);\n preset.set(KnownToken.Express.Middleware.error, provideExpressErrorMiddleware);\n\n // http api\n preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);\n\n // ssr bridge\n preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n\nexport type { ExpressHandlerContext, ExpressRouteList } from './types';\n\n// доступные утилиты\nexport { getClientIp } from './utils/get-client-ip';\nexport { getForwardedHeaders } from './utils/get-forwarded-headers';\nexport { getPageResponseFormat } from './utils/get-page-response-format';\nexport { HandlerProvider } from './utils/handler-provider';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,GAAA,GAAAJ,OAAA;AAEA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,uBAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,qBAAA,GAAAT,OAAA;AACA,IAAAU,yBAAA,GAAAV,OAAA;AACA,IAAAW,yBAAA,GAAAX,OAAA;AACA,IAAAY,yBAAA,GAAAZ,OAAA;AACA,IAAAa,kBAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AACA,IAAAe,kBAAA,GAAAf,OAAA;AACA,IAAAgB,aAAA,GAAAhB,OAAA;AACA,IAAAiB,oBAAA,GAAAjB,OAAA;AACA,IAAAkB,OAAA,GAAAlB,OAAA;AACA,IAAAmB,eAAA,GAAAnB,OAAA;AACA,IAAAoB,uBAAA,GAAApB,OAAA;AACA,IAAAqB,eAAA,GAAArB,OAAA;AA+EA,IAAAsB,YAAA,GAAAtB,OAAA;AACA,IAAAuB,oBAAA,GAAAvB,OAAA;AACA,IAAAwB,sBAAA,GAAAxB,OAAA;AACA,IAAAyB,gBAAA,GAAAzB,OAAA;AA/EA;AACA;AACA;AACA;AACA;AACO,SAAS0B,UAAUA,CAACC,SAAuB,EAAU;EAC1D;EACA,MAAMC,MAAM,GAAG,IAAAC,gBAAY,EAAC,CAAC;;EAE7B;EACAD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACC,MAAM,EAAEC,iCAAmB,CAAC;EACzDN,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACG,IAAI,EAAEC,6BAAiB,CAAC;;EAErD;EACAR,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACM,MAAM,EAAEC,qBAAa,CAAC;;EAE5C;EACAV,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACC,MAAM,EAAEC,qBAAa,CAAC;EACpDb,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACG,YAAY,EAAEC,iCAAmB,CAAC;EAChEf,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACK,cAAc,EAAEC,qCAAqB,CAAC;EACpEjB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACO,sBAAsB,EAAEC,qDAA6B,CAAC;;EAEpF;EACAnB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACiB,OAAO,CAACC,UAAU,EAAEC,2CAAwB,CAAC;;EAEnE;EACAtB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACC,KAAK,EAAEC,mBAAY,CAAC;EAC/CzB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACG,KAAK,CAACC,UAAU,EAAE,MAAM,EAAE,CAAC;EACtD3B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACK,KAAK,CAACC,KAAK,CAACC,MAAM,EAAE,MAAM,IAAI,CAAC;;EAE1D;EACA9B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC4B,KAAK,CAACC,OAAO,EAAEC,iCAAmB,CAAC;EACzDjC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC4B,KAAK,CAACJ,UAAU,EAAE,MAAM,EAAE,CAAC;;EAEjD;EACA3B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC+B,OAAO,CAACC,GAAG,EAAEC,qCAAqB,CAAC;EACzDpC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC+B,OAAO,CAACG,UAAU,EAAE,MAAM,EAAE,CAAC;EACnDrC,MAAM,CAACE,GAAG,CACRC,kBAAU,CAAC+B,OAAO,CAACI,aAAa,EAC/BC,OAAO,IAAuB,CAC7B,CAAC,cAAc,EAAEA,OAAO,CAACpC,kBAAU,CAAC+B,OAAO,CAACM,QAAQ,CAACC,WAAW,CAAC,CAAC,CAEtE,CAAC;EACDzC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC+B,OAAO,CAACP,UAAU,EAAEY,OAAO,IAAI,CACnDA,OAAO,CAACpC,kBAAU,CAAC+B,OAAO,CAACQ,UAAU,CAACC,OAAO,CAAC,EAC9CJ,OAAO,CAACpC,kBAAU,CAAC+B,OAAO,CAACQ,UAAU,CAACE,GAAG,CAAC,EAC1CL,OAAO,CAACpC,kBAAU,CAAC+B,OAAO,CAACQ,UAAU,CAACG,OAAO,CAAC,EAC9CN,OAAO,CAACpC,kBAAU,CAAC+B,OAAO,CAACQ,UAAU,CAACI,OAAO,CAAC,CAC/C,CAAC;EACF9C,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC+B,OAAO,CAACa,aAAa,EAAER,OAAO,IAAI,CACtDA,OAAO,CAACpC,kBAAU,CAAC+B,OAAO,CAACQ,UAAU,CAACM,KAAK,CAAC,CAC7C,CAAC;EACFhD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC+B,OAAO,CAACF,OAAO,EAAEiB,qCAAqB,CAAC;EAC7DjD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC+B,OAAO,CAACM,QAAQ,CAACC,WAAW,EAAEA,wBAAW,CAAC;EAChEzC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC+B,OAAO,CAACQ,UAAU,CAACC,OAAO,EAAEO,yDAA+B,CAAC;EAClFlD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC+B,OAAO,CAACQ,UAAU,CAACE,GAAG,EAAEO,iDAA2B,CAAC;EAC1EnD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC+B,OAAO,CAACQ,UAAU,CAACG,OAAO,EAAEO,yDAA+B,CAAC;EAClFpD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC+B,OAAO,CAACQ,UAAU,CAACI,OAAO,EAAEO,yDAA+B,CAAC;EAClFrD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC+B,OAAO,CAACQ,UAAU,CAACM,KAAK,EAAEM,qDAA6B,CAAC;;EAE9E;EACAtD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACgC,GAAG,CAACC,UAAU,EAAEC,2CAAwB,CAAC;;EAEpE;EACAzD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACuD,SAAS,CAACC,UAAU,EAAEC,+CAA0B,CAAC;EAEvE,IAAI7D,SAAS,EAAE;IACbA,SAAS,CAAC;MAAE8D,QAAQ,EAAE7D,MAAM,CAACE,GAAG,CAAC4D,IAAI,CAAC9D,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf;;AAIA"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.provideExpressMetricsMiddleware = provideExpressMetricsMiddleware;
7
- var _getHandlerMetrics = require("../../server/utils/get-handler-metrics");
7
+ var _getHandlerMetrics = require("../utils/get-handler-metrics");
8
8
  var _tokens = require("../../../tokens");
9
9
  var _server = require("../../server");
10
10
  var _utils = require("../../../utils");
@@ -1 +1 @@
1
- {"version":3,"file":"express-metrics-middleware.js","names":["_getHandlerMetrics","require","_tokens","_server","_utils","provideExpressMetricsMiddleware","resolve","config","KnownToken","Config","base","requestCount","renderDuration","responseDuration","getHandlerMetrics","getLabels","req","res","version","appVersion","route","baseUrl","path","code","statusCode","method","getRenderLabels","request","url","next","responseStart","process","hrtime","bigint","inc","once","PAGE_HANDLER_EVENT_TYPE","renderStart","renderFinish","observe","toMilliseconds","responseFinish"],"sources":["../../../../../src/preset/node/providers/express-metrics-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { LABEL_NAMES, getHandlerMetrics } from '../../server/utils/get-handler-metrics';\nimport { KnownToken } from '../../../tokens';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server';\nimport { toMilliseconds } from '../../../utils';\n\n/**\n * Провайдер промежуточного слоя сбора метрик входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressMetricsMiddleware(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const { requestCount, renderDuration, responseDuration } = getHandlerMetrics();\n\n /**\n * Функция формирования labels.\n * @param req Request.\n * @param res Response.\n * @return Labels.\n */\n const getLabels = (\n req: express.Request,\n res: express.Response,\n ): Record<(typeof LABEL_NAMES.httpResponse)[number], string | number> => ({\n version: config.appVersion,\n route: req.baseUrl + req.path,\n code: res.statusCode,\n method: req.method,\n });\n\n /** @inheritdoc */\n const getRenderLabels = (request: express.Request) =>\n ({\n version: config.appVersion,\n method: request.method,\n route: request.url,\n }) satisfies Record<(typeof LABEL_NAMES.pageRender)[number], string | number>;\n\n return (req, res, next) => {\n const responseStart = process.hrtime.bigint();\n\n requestCount.inc(getLabels(req, res), 1);\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {\n const renderStart = process.hrtime.bigint();\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {\n const renderFinish = process.hrtime.bigint();\n\n renderDuration.observe(getRenderLabels(req), toMilliseconds(renderFinish - renderStart));\n });\n });\n\n res.once('finish', () => {\n const responseFinish = process.hrtime.bigint();\n\n responseDuration.observe(getLabels(req, res), toMilliseconds(responseFinish - responseStart));\n });\n\n next();\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASI,+BAA+BA,CAACC,OAAgB,EAAmB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAG,IAAAC,oCAAiB,EAAC,CAAC;;EAE9E;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,SAAS,GAAGA,CAChBC,GAAoB,EACpBC,GAAqB,MACmD;IACxEC,OAAO,EAAEX,MAAM,CAACY,UAAU;IAC1BC,KAAK,EAAEJ,GAAG,CAACK,OAAO,GAAGL,GAAG,CAACM,IAAI;IAC7BC,IAAI,EAAEN,GAAG,CAACO,UAAU;IACpBC,MAAM,EAAET,GAAG,CAACS;EACd,CAAC,CAAC;;EAEF;EACA,MAAMC,eAAe,GAAIC,OAAwB,KAC9C;IACCT,OAAO,EAAEX,MAAM,CAACY,UAAU;IAC1BM,MAAM,EAAEE,OAAO,CAACF,MAAM;IACtBL,KAAK,EAAEO,OAAO,CAACC;EACjB,CAAC,CAA4E;EAE/E,OAAO,CAACZ,GAAG,EAAEC,GAAG,EAAEY,IAAI,KAAK;IACzB,MAAMC,aAAa,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAE7CtB,YAAY,CAACuB,GAAG,CAACnB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExCA,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACC,WAAW,EAAE,MAAM;MAClD,MAAMA,WAAW,GAAGN,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE3ChB,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACE,YAAY,EAAE,MAAM;QACnD,MAAMA,YAAY,GAAGP,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;QAE5CrB,cAAc,CAAC2B,OAAO,CAACb,eAAe,CAACV,GAAG,CAAC,EAAE,IAAAwB,qBAAc,EAACF,YAAY,GAAGD,WAAW,CAAC,CAAC;MAC1F,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFpB,GAAG,CAACkB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMM,cAAc,GAAGV,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE9CpB,gBAAgB,CAAC0B,OAAO,CAACxB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,IAAAuB,qBAAc,EAACC,cAAc,GAAGX,aAAa,CAAC,CAAC;IAC/F,CAAC,CAAC;IAEFD,IAAI,CAAC,CAAC;EACR,CAAC;AACH"}
1
+ {"version":3,"file":"express-metrics-middleware.js","names":["_getHandlerMetrics","require","_tokens","_server","_utils","provideExpressMetricsMiddleware","resolve","config","KnownToken","Config","base","requestCount","renderDuration","responseDuration","getHandlerMetrics","getLabels","req","res","version","appVersion","route","baseUrl","path","code","statusCode","method","getRenderLabels","request","url","next","responseStart","process","hrtime","bigint","inc","once","PAGE_HANDLER_EVENT_TYPE","renderStart","renderFinish","observe","toMilliseconds","responseFinish"],"sources":["../../../../../src/preset/node/providers/express-metrics-middleware.ts"],"sourcesContent":["import type express from 'express';\nimport type { Resolve } from '../../../di';\nimport { LABEL_NAMES, getHandlerMetrics } from '../utils/get-handler-metrics';\nimport { KnownToken } from '../../../tokens';\nimport { PAGE_HANDLER_EVENT_TYPE } from '../../server';\nimport { toMilliseconds } from '../../../utils';\n\n/**\n * Провайдер промежуточного слоя сбора метрик входящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой.\n */\nexport function provideExpressMetricsMiddleware(resolve: Resolve): express.Handler {\n const config = resolve(KnownToken.Config.base);\n const { requestCount, renderDuration, responseDuration } = getHandlerMetrics();\n\n /**\n * Функция формирования labels.\n * @param req Request.\n * @param res Response.\n * @return Labels.\n */\n const getLabels = (\n req: express.Request,\n res: express.Response,\n ): Record<(typeof LABEL_NAMES.httpResponse)[number], string | number> => ({\n version: config.appVersion,\n route: req.baseUrl + req.path,\n code: res.statusCode,\n method: req.method,\n });\n\n /** @inheritdoc */\n const getRenderLabels = (request: express.Request) =>\n ({\n version: config.appVersion,\n method: request.method,\n route: request.url,\n }) satisfies Record<(typeof LABEL_NAMES.pageRender)[number], string | number>;\n\n return (req, res, next) => {\n const responseStart = process.hrtime.bigint();\n\n requestCount.inc(getLabels(req, res), 1);\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderStart, () => {\n const renderStart = process.hrtime.bigint();\n\n res.once(PAGE_HANDLER_EVENT_TYPE.renderFinish, () => {\n const renderFinish = process.hrtime.bigint();\n\n renderDuration.observe(getRenderLabels(req), toMilliseconds(renderFinish - renderStart));\n });\n });\n\n res.once('finish', () => {\n const responseFinish = process.hrtime.bigint();\n\n responseDuration.observe(getLabels(req, res), toMilliseconds(responseFinish - responseStart));\n });\n\n next();\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASI,+BAA+BA,CAACC,OAAgB,EAAmB;EACjF,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAG,IAAAC,oCAAiB,EAAC,CAAC;;EAE9E;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,SAAS,GAAGA,CAChBC,GAAoB,EACpBC,GAAqB,MACmD;IACxEC,OAAO,EAAEX,MAAM,CAACY,UAAU;IAC1BC,KAAK,EAAEJ,GAAG,CAACK,OAAO,GAAGL,GAAG,CAACM,IAAI;IAC7BC,IAAI,EAAEN,GAAG,CAACO,UAAU;IACpBC,MAAM,EAAET,GAAG,CAACS;EACd,CAAC,CAAC;;EAEF;EACA,MAAMC,eAAe,GAAIC,OAAwB,KAC9C;IACCT,OAAO,EAAEX,MAAM,CAACY,UAAU;IAC1BM,MAAM,EAAEE,OAAO,CAACF,MAAM;IACtBL,KAAK,EAAEO,OAAO,CAACC;EACjB,CAAC,CAA4E;EAE/E,OAAO,CAACZ,GAAG,EAAEC,GAAG,EAAEY,IAAI,KAAK;IACzB,MAAMC,aAAa,GAAGC,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;IAE7CtB,YAAY,CAACuB,GAAG,CAACnB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExCA,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACC,WAAW,EAAE,MAAM;MAClD,MAAMA,WAAW,GAAGN,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE3ChB,GAAG,CAACkB,IAAI,CAACC,+BAAuB,CAACE,YAAY,EAAE,MAAM;QACnD,MAAMA,YAAY,GAAGP,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;QAE5CrB,cAAc,CAAC2B,OAAO,CAACb,eAAe,CAACV,GAAG,CAAC,EAAE,IAAAwB,qBAAc,EAACF,YAAY,GAAGD,WAAW,CAAC,CAAC;MAC1F,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFpB,GAAG,CAACkB,IAAI,CAAC,QAAQ,EAAE,MAAM;MACvB,MAAMM,cAAc,GAAGV,OAAO,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC;MAE9CpB,gBAAgB,CAAC0B,OAAO,CAACxB,SAAS,CAACC,GAAG,EAAEC,GAAG,CAAC,EAAE,IAAAuB,qBAAc,EAACC,cAAc,GAAGX,aAAa,CAAC,CAAC;IAC/F,CAAC,CAAC;IAEFD,IAAI,CAAC,CAAC;EACR,CAAC;AACH"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideMainExpressApp = provideMainExpressApp;
7
+ var _tokens = require("../../../tokens");
8
+ var _express = _interopRequireDefault(require("express"));
9
+ var _httpProxyMiddleware = require("http-proxy-middleware");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ /**
12
+ * Провайдер основного express-приложения.
13
+ * @param resolve Функция для получения зависимости по токену.
14
+ * @return Основное express-приложение.
15
+ */
16
+ function provideMainExpressApp(resolve) {
17
+ const config = resolve(_tokens.KnownToken.Config.base);
18
+ const pageRoutes = resolve(_tokens.KnownToken.Express.pageRoutes);
19
+ const serviceRoutes = resolve(_tokens.KnownToken.Express.serviceRoutes);
20
+ const middleware = resolve(_tokens.KnownToken.Express.middleware);
21
+ const endMiddleware = resolve(_tokens.KnownToken.Express.endMiddleware);
22
+ const proxyConfig = resolve(_tokens.KnownToken.Http.Serve.Proxy.config);
23
+ const app = (0, _express.default)();
24
+ if (config.env === 'development' && proxyConfig) {
25
+ const proxyConfigs = Array.isArray(proxyConfig) ? proxyConfig : [proxyConfig];
26
+ for (const {
27
+ target,
28
+ filter
29
+ } of proxyConfigs) {
30
+ // ВАЖНО: так как не можем предоставить web-интерфейс Request бросаем ошибку
31
+ if (typeof filter === 'function') {
32
+ throw new Error('Currently function is not supported for proxy "filter"');
33
+ }
34
+ const proxyPaths = Array.isArray(filter) ? filter : [filter];
35
+ app.use((0, _httpProxyMiddleware.createProxyMiddleware)({
36
+ target,
37
+ changeOrigin: true,
38
+ pathFilter: inputPath => proxyPaths.some(proxyPath => inputPath.startsWith(proxyPath))
39
+ }));
40
+ }
41
+ }
42
+
43
+ // маршруты страниц
44
+ for (const [routePath, routeHandler] of pageRoutes) {
45
+ const path = typeof routePath === 'string' ? routePath : routePath.path;
46
+ const method = typeof routePath === 'string' ? 'get' : routePath.method;
47
+ app.use(path, middleware);
48
+ app[method](path, routeHandler);
49
+ app.use(path, endMiddleware);
50
+ }
51
+
52
+ // служебные маршруты (к ним не применяются промежуточные слои)
53
+ for (const [routePath, routeHandler] of serviceRoutes) {
54
+ const path = typeof routePath === 'string' ? routePath : routePath.path;
55
+ const method = typeof routePath === 'string' ? 'get' : routePath.method;
56
+ app[method](path, routeHandler);
57
+ }
58
+
59
+ // @todo также добавить apiRoutes?
60
+ return app;
61
+ }
62
+ //# sourceMappingURL=main-express-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-express-app.js","names":["_tokens","require","_express","_interopRequireDefault","_httpProxyMiddleware","obj","__esModule","default","provideMainExpressApp","resolve","config","KnownToken","Config","base","pageRoutes","Express","serviceRoutes","middleware","endMiddleware","proxyConfig","Http","Serve","Proxy","app","express","env","proxyConfigs","Array","isArray","target","filter","Error","proxyPaths","use","createProxyMiddleware","changeOrigin","pathFilter","inputPath","some","proxyPath","startsWith","routePath","routeHandler","path","method"],"sources":["../../../../../src/preset/node/providers/main-express-app.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport express from 'express';\nimport { createProxyMiddleware } from 'http-proxy-middleware';\n\n/**\n * Провайдер основного express-приложения.\n * @param resolve Функция для получения зависимости по токену.\n * @return Основное express-приложение.\n */\nexport function provideMainExpressApp(resolve: Resolve): express.Application {\n const config = resolve(KnownToken.Config.base);\n const pageRoutes = resolve(KnownToken.Express.pageRoutes);\n const serviceRoutes = resolve(KnownToken.Express.serviceRoutes);\n const middleware = resolve(KnownToken.Express.middleware);\n const endMiddleware = resolve(KnownToken.Express.endMiddleware);\n const proxyConfig = resolve(KnownToken.Http.Serve.Proxy.config);\n\n const app = express();\n\n if (config.env === 'development' && proxyConfig) {\n const proxyConfigs = Array.isArray(proxyConfig) ? proxyConfig : [proxyConfig];\n\n for (const { target, filter } of proxyConfigs) {\n // ВАЖНО: так как не можем предоставить web-интерфейс Request бросаем ошибку\n if (typeof filter === 'function') {\n throw new Error('Currently function is not supported for proxy \"filter\"');\n }\n\n const proxyPaths = Array.isArray(filter) ? filter : [filter];\n\n app.use(\n createProxyMiddleware({\n target,\n changeOrigin: true,\n pathFilter: inputPath => proxyPaths.some(proxyPath => inputPath.startsWith(proxyPath)),\n }),\n );\n }\n }\n\n // маршруты страниц\n for (const [routePath, routeHandler] of pageRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app.use(path, middleware);\n app[method](path, routeHandler);\n app.use(path, endMiddleware);\n }\n\n // служебные маршруты (к ним не применяются промежуточные слои)\n for (const [routePath, routeHandler] of serviceRoutes) {\n const path = typeof routePath === 'string' ? routePath : routePath.path;\n const method = typeof routePath === 'string' ? 'get' : routePath.method;\n\n app[method](path, routeHandler);\n }\n\n // @todo также добавить apiRoutes?\n return app;\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAA8D,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9D;AACA;AACA;AACA;AACA;AACO,SAASG,qBAAqBA,CAACC,OAAgB,EAAuB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,UAAU,GAAGL,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACD,UAAU,CAAC;EACzD,MAAME,aAAa,GAAGP,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACC,aAAa,CAAC;EAC/D,MAAMC,UAAU,GAAGR,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACE,UAAU,CAAC;EACzD,MAAMC,aAAa,GAAGT,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACG,aAAa,CAAC;EAC/D,MAAMC,WAAW,GAAGV,OAAO,CAACE,kBAAU,CAACS,IAAI,CAACC,KAAK,CAACC,KAAK,CAACZ,MAAM,CAAC;EAE/D,MAAMa,GAAG,GAAG,IAAAC,gBAAO,EAAC,CAAC;EAErB,IAAId,MAAM,CAACe,GAAG,KAAK,aAAa,IAAIN,WAAW,EAAE;IAC/C,MAAMO,YAAY,GAAGC,KAAK,CAACC,OAAO,CAACT,WAAW,CAAC,GAAGA,WAAW,GAAG,CAACA,WAAW,CAAC;IAE7E,KAAK,MAAM;MAAEU,MAAM;MAAEC;IAAO,CAAC,IAAIJ,YAAY,EAAE;MAC7C;MACA,IAAI,OAAOI,MAAM,KAAK,UAAU,EAAE;QAChC,MAAM,IAAIC,KAAK,CAAC,wDAAwD,CAAC;MAC3E;MAEA,MAAMC,UAAU,GAAGL,KAAK,CAACC,OAAO,CAACE,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;MAE5DP,GAAG,CAACU,GAAG,CACL,IAAAC,0CAAqB,EAAC;QACpBL,MAAM;QACNM,YAAY,EAAE,IAAI;QAClBC,UAAU,EAAEC,SAAS,IAAIL,UAAU,CAACM,IAAI,CAACC,SAAS,IAAIF,SAAS,CAACG,UAAU,CAACD,SAAS,CAAC;MACvF,CAAC,CACH,CAAC;IACH;EACF;;EAEA;EACA,KAAK,MAAM,CAACE,SAAS,EAAEC,YAAY,CAAC,IAAI5B,UAAU,EAAE;IAClD,MAAM6B,IAAI,GAAG,OAAOF,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGA,SAAS,CAACE,IAAI;IACvE,MAAMC,MAAM,GAAG,OAAOH,SAAS,KAAK,QAAQ,GAAG,KAAK,GAAGA,SAAS,CAACG,MAAM;IAEvErB,GAAG,CAACU,GAAG,CAACU,IAAI,EAAE1B,UAAU,CAAC;IACzBM,GAAG,CAACqB,MAAM,CAAC,CAACD,IAAI,EAAED,YAAY,CAAC;IAC/BnB,GAAG,CAACU,GAAG,CAACU,IAAI,EAAEzB,aAAa,CAAC;EAC9B;;EAEA;EACA,KAAK,MAAM,CAACuB,SAAS,EAAEC,YAAY,CAAC,IAAI1B,aAAa,EAAE;IACrD,MAAM2B,IAAI,GAAG,OAAOF,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAGA,SAAS,CAACE,IAAI;IACvE,MAAMC,MAAM,GAAG,OAAOH,SAAS,KAAK,QAAQ,GAAG,KAAK,GAAGA,SAAS,CAACG,MAAM;IAEvErB,GAAG,CAACqB,MAAM,CAAC,CAACD,IAAI,EAAED,YAAY,CAAC;EACjC;;EAEA;EACA,OAAOnB,GAAG;AACZ"}