@sima-land/isomorph 11.0.0-alpha.34 → 11.0.0-alpha.36

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 (154) hide show
  1. package/config/index.d.ts +1 -1
  2. package/config/source.d.ts +1 -5
  3. package/config/source.js.map +1 -1
  4. package/config/types.d.ts +6 -0
  5. package/di/index.d.ts +1 -1
  6. package/http/errors.d.ts +12 -0
  7. package/http/errors.js +17 -1
  8. package/http/errors.js.map +1 -1
  9. package/http/index.d.ts +3 -3
  10. package/http/index.js +3 -1
  11. package/http/index.js.map +1 -1
  12. package/package.json +14 -14
  13. package/preset/isomorphic/constants.d.ts +7 -0
  14. package/preset/isomorphic/constants.js +11 -0
  15. package/preset/isomorphic/constants.js.map +1 -0
  16. package/preset/isomorphic/providers/index.d.ts +22 -0
  17. package/preset/isomorphic/providers/index.js +38 -0
  18. package/preset/isomorphic/providers/index.js.map +1 -0
  19. package/preset/isomorphic/types.d.ts +43 -0
  20. package/{http-client → preset/isomorphic}/types.js.map +1 -1
  21. package/preset/{parts/utils.d.ts → isomorphic/utils/index.d.ts} +14 -6
  22. package/preset/{parts/utils.js → isomorphic/utils/index.js} +31 -5
  23. package/preset/isomorphic/utils/index.js.map +1 -0
  24. package/preset/node/handler/index.d.ts +10 -0
  25. package/preset/node/handler/index.js +38 -0
  26. package/preset/node/handler/index.js.map +1 -0
  27. package/preset/node/handler/providers/index.d.ts +35 -0
  28. package/preset/node/handler/providers/index.js +184 -0
  29. package/preset/node/handler/providers/index.js.map +1 -0
  30. package/preset/node/handler/utils/index.d.ts +46 -0
  31. package/preset/node/handler/utils/index.js +81 -0
  32. package/preset/node/handler/utils/index.js.map +1 -0
  33. package/preset/node/index.d.ts +2 -29
  34. package/preset/node/index.js +6 -255
  35. package/preset/node/index.js.map +1 -1
  36. package/preset/node/node/index.d.ts +8 -0
  37. package/preset/node/node/index.js +49 -0
  38. package/preset/node/node/index.js.map +1 -0
  39. package/preset/node/node/providers/index.d.ts +112 -0
  40. package/preset/node/node/providers/index.js +392 -0
  41. package/preset/node/node/providers/index.js.map +1 -0
  42. package/{http-client/middleware/tracing.d.ts → preset/node/node/utils/http-client/index.d.ts} +9 -0
  43. package/{http-client/middleware/tracing.js → preset/node/node/utils/http-client/index.js} +32 -3
  44. package/preset/node/node/utils/http-client/index.js.map +1 -0
  45. package/preset/node/node/utils/http-server/index.d.ts +7 -0
  46. package/preset/node/node/utils/http-server/index.js +21 -0
  47. package/preset/node/node/utils/http-server/index.js.map +1 -0
  48. package/preset/web/index.d.ts +8 -0
  49. package/preset/web/index.js +30 -0
  50. package/preset/web/index.js.map +1 -0
  51. package/preset/web/providers/index.d.ts +35 -0
  52. package/preset/{browser → web/providers}/index.js +37 -33
  53. package/preset/web/providers/index.js.map +1 -0
  54. package/tokens.d.ts +20 -19
  55. package/tokens.js +11 -8
  56. package/tokens.js.map +1 -1
  57. package/utils/axios/index.d.ts +4 -0
  58. package/utils/axios/index.js +13 -0
  59. package/utils/axios/index.js.map +1 -0
  60. package/utils/axios/middleware/cookie.d.ts +8 -0
  61. package/utils/axios/middleware/cookie.js +26 -0
  62. package/utils/axios/middleware/cookie.js.map +1 -0
  63. package/utils/axios/middleware/log.js.map +1 -0
  64. package/{http-client → utils/axios}/sauce/index.d.ts +1 -1
  65. package/{http-client → utils/axios}/sauce/index.js +1 -1
  66. package/utils/axios/sauce/index.js.map +1 -0
  67. package/{http-client/utils.d.ts → utils/axios/utils/index.d.ts} +0 -7
  68. package/{http-client/utils.js → utils/axios/utils/index.js} +2 -28
  69. package/utils/axios/utils/index.js.map +1 -0
  70. package/utils/express/handler/health-check.js.map +1 -0
  71. package/utils/express/index.d.ts +2 -0
  72. package/utils/express/index.js +8 -0
  73. package/utils/express/index.js.map +1 -0
  74. package/utils/express/utils/index.d.ts +7 -0
  75. package/utils/express/utils/index.js +20 -0
  76. package/utils/express/utils/index.js.map +1 -0
  77. package/utils/react/error-handlers/index.d.ts +3 -3
  78. package/utils/react/error-handlers/index.js +1 -1
  79. package/utils/react/error-handlers/index.js.map +1 -1
  80. package/utils/react/index.d.ts +2 -0
  81. package/utils/react/index.js +7 -0
  82. package/utils/react/index.js.map +1 -0
  83. package/utils/ssr/index.d.ts +1 -2
  84. package/utils/web/analytics/data-layer.js +16 -0
  85. package/utils/web/analytics/data-layer.js.map +1 -0
  86. package/utils/web/analytics/oko.d.ts +6 -0
  87. package/utils/web/analytics/oko.js +16 -0
  88. package/utils/web/analytics/oko.js.map +1 -0
  89. package/utils/{browser → web}/storage/index.d.ts +1 -0
  90. package/utils/{browser → web}/storage/index.js +1 -0
  91. package/utils/web/storage/index.js.map +1 -0
  92. package/http-client/middleware/cookie.d.ts +0 -20
  93. package/http-client/middleware/cookie.js +0 -64
  94. package/http-client/middleware/cookie.js.map +0 -1
  95. package/http-client/middleware/headers.d.ts +0 -13
  96. package/http-client/middleware/headers.js +0 -25
  97. package/http-client/middleware/headers.js.map +0 -1
  98. package/http-client/middleware/log.js.map +0 -1
  99. package/http-client/middleware/tracing.js.map +0 -1
  100. package/http-client/sauce/index.js.map +0 -1
  101. package/http-client/types.d.ts +0 -6
  102. package/http-client/utils.js.map +0 -1
  103. package/http-server/constants.d.ts +0 -4
  104. package/http-server/constants.js +0 -8
  105. package/http-server/constants.js.map +0 -1
  106. package/http-server/errors.d.ts +0 -11
  107. package/http-server/errors.js +0 -18
  108. package/http-server/errors.js.map +0 -1
  109. package/http-server/handler/health-check.js.map +0 -1
  110. package/http-server/middleware/metrics.d.ts +0 -23
  111. package/http-server/middleware/metrics.js +0 -60
  112. package/http-server/middleware/metrics.js.map +0 -1
  113. package/http-server/middleware/tracing.d.ts +0 -14
  114. package/http-server/middleware/tracing.js +0 -51
  115. package/http-server/middleware/tracing.js.map +0 -1
  116. package/http-server/template/index.d.ts +0 -1
  117. package/http-server/template/index.js +0 -41
  118. package/http-server/template/index.js.map +0 -1
  119. package/http-server/types.d.ts +0 -28
  120. package/http-server/types.js +0 -3
  121. package/http-server/types.js.map +0 -1
  122. package/http-server/utils.d.ts +0 -45
  123. package/http-server/utils.js +0 -144
  124. package/http-server/utils.js.map +0 -1
  125. package/metrics/constants.d.ts +0 -7
  126. package/metrics/constants.js +0 -11
  127. package/metrics/constants.js.map +0 -1
  128. package/metrics/node.d.ts +0 -19
  129. package/metrics/node.js +0 -56
  130. package/metrics/node.js.map +0 -1
  131. package/preset/browser/index.d.ts +0 -17
  132. package/preset/browser/index.js.map +0 -1
  133. package/preset/node/handler.d.ts +0 -24
  134. package/preset/node/handler.js +0 -165
  135. package/preset/node/handler.js.map +0 -1
  136. package/preset/parts/providers.d.ts +0 -7
  137. package/preset/parts/providers.js +0 -26
  138. package/preset/parts/providers.js.map +0 -1
  139. package/preset/parts/types.d.ts +0 -14
  140. package/preset/parts/types.js +0 -3
  141. package/preset/parts/types.js.map +0 -1
  142. package/preset/parts/utils.js.map +0 -1
  143. package/utils/browser/analytics/data-layer.js +0 -14
  144. package/utils/browser/analytics/data-layer.js.map +0 -1
  145. package/utils/browser/analytics/oko.d.ts +0 -13
  146. package/utils/browser/analytics/oko.js +0 -40
  147. package/utils/browser/analytics/oko.js.map +0 -1
  148. package/utils/browser/storage/index.js.map +0 -1
  149. /package/{http-client → preset/isomorphic}/types.js +0 -0
  150. /package/{http-client → utils/axios}/middleware/log.d.ts +0 -0
  151. /package/{http-client → utils/axios}/middleware/log.js +0 -0
  152. /package/{http-server → utils/express}/handler/health-check.d.ts +0 -0
  153. /package/{http-server → utils/express}/handler/health-check.js +0 -0
  154. /package/utils/{browser → web}/analytics/data-layer.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/react/error-handlers/index.tsx"],"names":[],"mappings":";;;;AAAA,iCAAkE;AAgBlE;;GAEG;AACH,MAAa,aAAc,SAAQ,iBAAuC;IACxE;;OAEG;IACH,YAAY,KAAY;QACtB,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,wBAAwB;QAC7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,kBAAkB;IAClB,iBAAiB,CAAC,KAAY,EAAE,SAA0B;QACxD,8GAA8G;QAC9G,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE/B,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE1C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnD,CAAC;CACF;AAhCD,sCAgCC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAS;IACjE,OAAO,CACL,uBAAC,gBAAQ,IAAC,QAAQ,EAAE,QAAQ,YAC1B,uBAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,YAChD,QAAQ,GACK,GACP,CACZ,CAAC;AACJ,CAAC;AARD,oCAQC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/react/error-handlers/index.tsx"],"names":[],"mappings":";;;;AAAA,iCAAkE;AAgBlE;;GAEG;AACH,MAAa,aAAc,SAAQ,iBAAuC;IACxE;;OAEG;IACH,YAAY,KAAY;QACtB,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,wBAAwB;QAC7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,kBAAkB;IAClB,iBAAiB,CAAC,KAAY,EAAE,SAAoB;QAClD,8GAA8G;QAC9G,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE/B,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE1C,OAAO,2DAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAI,CAAC;IAC1D,CAAC;CACF;AAhCD,sCAgCC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAS;IACjE,OAAO,CACL,uBAAC,gBAAQ,IAAC,QAAQ,EAAE,QAAQ,YAC1B,uBAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,YAChD,QAAQ,GACK,GACP,CACZ,CAAC;AACJ,CAAC;AARD,oCAQC"}
@@ -0,0 +1,2 @@
1
+ import { ErrorBoundary, SafeSuspense } from './error-handlers';
2
+ export { ErrorBoundary, SafeSuspense };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SafeSuspense = exports.ErrorBoundary = void 0;
4
+ const error_handlers_1 = require("./error-handlers");
5
+ Object.defineProperty(exports, "ErrorBoundary", { enumerable: true, get: function () { return error_handlers_1.ErrorBoundary; } });
6
+ Object.defineProperty(exports, "SafeSuspense", { enumerable: true, get: function () { return error_handlers_1.SafeSuspense; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/react/index.ts"],"names":[],"mappings":";;;AAAA,qDAA+D;AAEtD,8FAFA,8BAAa,OAEA;AAAE,6FAFA,6BAAY,OAEA"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  /**
3
2
  * Данные для SSR, сформированные на сервере.
4
3
  */
@@ -38,4 +37,4 @@ export declare const SsrBridge: {
38
37
  export declare function GlobalDataScript({ property, value, }: {
39
38
  property: string;
40
39
  value: Record<any, any>;
41
- }): JSX.Element;
40
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataLayerPush = void 0;
4
+ /**
5
+ * Отправка аналитики в dataLayer.
6
+ * @param eventData Данные события для отправки.
7
+ */
8
+ function dataLayerPush(eventData) {
9
+ const target = window;
10
+ if (typeof target.dataLayer?.push === 'function') {
11
+ // копируем объект так как window.dataLayer.push может менять аргумент в процессе работы
12
+ target.dataLayer.push({ ...eventData });
13
+ }
14
+ }
15
+ exports.dataLayerPush = dataLayerPush;
16
+ //# sourceMappingURL=data-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-layer.js","sourceRoot":"","sources":["../../../../src/utils/web/analytics/data-layer.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,aAAa,CAAC,SAA8B;IAC1D,MAAM,MAAM,GAAQ,MAAM,CAAC;IAE3B,IAAI,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,UAAU,EAAE;QAChD,wFAAwF;QACxF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;KACzC;AACH,CAAC;AAPD,sCAOC"}
@@ -0,0 +1,6 @@
1
+ export type OkoEvent = Record<string, any>;
2
+ /**
3
+ * Получив объект события, запустит его отправку в ОКО (если на странице есть ОКО).
4
+ * @param eventData Данные события для отправки.
5
+ */
6
+ export declare function okoPush(eventData: OkoEvent): void;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.okoPush = void 0;
4
+ /**
5
+ * Получив объект события, запустит его отправку в ОКО (если на странице есть ОКО).
6
+ * @param eventData Данные события для отправки.
7
+ */
8
+ function okoPush(eventData) {
9
+ const target = window;
10
+ if (typeof target.oko?.push === 'function') {
11
+ // копируем объект так как window.oko.push меняет свой аргумент в процессе выполнения
12
+ target.oko.push({ ...eventData });
13
+ }
14
+ }
15
+ exports.okoPush = okoPush;
16
+ //# sourceMappingURL=oko.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oko.js","sourceRoot":"","sources":["../../../../src/utils/web/analytics/oko.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,SAAgB,OAAO,CAAC,SAAmB;IACzC,MAAM,MAAM,GAAQ,MAAM,CAAC;IAE3B,IAAI,OAAO,MAAM,CAAC,GAAG,EAAE,IAAI,KAAK,UAAU,EAAE;QAC1C,qFAAqF;QACrF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;KACnC;AACH,CAAC;AAPD,0BAOC"}
@@ -8,5 +8,6 @@ export interface StorageUtils extends Pick<Storage, 'clear' | 'getItem' | 'key'
8
8
  * Возвращает объект для безопасной работы с браузерным хранилищем (LocalStorage, SessionStorage).
9
9
  * @param getStorage Функция, которая должна вернуть целевое хранилище.
10
10
  * @return Объект-обертка для безопасной работы с браузерным хранилищем.
11
+ * @todo Пересмотреть и перенести из browser?
11
12
  */
12
13
  export declare function createStorageUtils(getStorage: () => Storage): StorageUtils;
@@ -6,6 +6,7 @@ exports.createStorageUtils = void 0;
6
6
  * Возвращает объект для безопасной работы с браузерным хранилищем (LocalStorage, SessionStorage).
7
7
  * @param getStorage Функция, которая должна вернуть целевое хранилище.
8
8
  * @return Объект-обертка для безопасной работы с браузерным хранилищем.
9
+ * @todo Пересмотреть и перенести из browser?
9
10
  */
10
11
  function createStorageUtils(getStorage) {
11
12
  function isAvailable() {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/web/storage/index.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAUvD;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,UAAyB;IAC1D,SAAS,WAAW;QAClB,IAAI;YACF,MAAM,OAAO,GAAG,qBAAqB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAElD,UAAU,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvC,UAAU,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEjC,OAAO,IAAI,CAAC;SACb;QAAC,MAAM;YACN,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,SAAS,KAAK;QACZ,IAAI,WAAW,EAAE,EAAE;YACjB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;SACtB;IACH,CAAC;IAED,SAAS,OAAO,CAAC,IAAY;QAC3B,IAAI,WAAW,EAAE,EAAE;YACjB,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACnC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,GAAG,CAAC,KAAa;QACxB,IAAI,WAAW,EAAE,EAAE;YACjB,OAAO,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,UAAU,CAAC,IAAY;QAC9B,IAAI,WAAW,EAAE,EAAE;YACjB,UAAU,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;QAC1C,IAAI,WAAW,EAAE,EAAE;YACjB,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACnC;IACH,CAAC;IAED,SAAS,MAAM;QACb,IAAI,WAAW,EAAE,EAAE;YACjB,OAAO,UAAU,EAAE,CAAC,MAAM,CAAC;SAC5B;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO;QACL,WAAW;QAEX,KAAK;QACL,OAAO;QACP,GAAG;QACH,UAAU;QACV,OAAO;QACP,IAAI,MAAM;YACR,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAnED,gDAmEC"}
@@ -1,20 +0,0 @@
1
- import type { Request, Response } from 'express';
2
- import type { Middleware } from 'middleware-axios';
3
- export interface CookieStore {
4
- set: (seCookie: string[]) => void;
5
- asHeader: () => string;
6
- }
7
- /**
8
- * Возвращает новый middleware для работы с cookie на сервере.
9
- * @param request Входящий запрос.
10
- * @param response Исходящий ответ.
11
- * @return Middleware.
12
- */
13
- export declare function collectCookieMiddleware(request: Request, response: Response): Middleware<any>;
14
- /**
15
- * Возвращает новое хранилище cookie.
16
- * @internal
17
- * @param initialCookie Начальное значение cookie.
18
- * @return Хранилище cookie.
19
- */
20
- export declare function createCookieStore(initialCookie?: string): CookieStore;
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createCookieStore = exports.collectCookieMiddleware = void 0;
4
- /**
5
- * Возвращает новый middleware для работы с cookie на сервере.
6
- * @param request Входящий запрос.
7
- * @param response Исходящий ответ.
8
- * @return Middleware.
9
- */
10
- function collectCookieMiddleware(request, response) {
11
- const store = createCookieStore(request.get('cookie'));
12
- return async function collectCookie(config, next) {
13
- const result = await next({
14
- ...config,
15
- headers: {
16
- ...config.headers,
17
- Cookie: store.asHeader(),
18
- },
19
- });
20
- if (result.headers['set-cookie'] && !response.writableEnded) {
21
- store.set(result.headers['set-cookie']);
22
- response.setHeader('cookie', store.asHeader());
23
- }
24
- };
25
- }
26
- exports.collectCookieMiddleware = collectCookieMiddleware;
27
- /**
28
- * Возвращает новое хранилище cookie.
29
- * @internal
30
- * @param initialCookie Начальное значение cookie.
31
- * @return Хранилище cookie.
32
- */
33
- function createCookieStore(initialCookie) {
34
- const data = {};
35
- // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
36
- function setItem(cookieItem) {
37
- const [cookieName, cookieValue] = cookieItem.split('=').map(item => item.trim());
38
- if (cookieName && cookieValue) {
39
- data[cookieName] = { name: cookieName, value: cookieValue };
40
- }
41
- }
42
- if (initialCookie && initialCookie.length) {
43
- for (const item of initialCookie.split(';')) {
44
- setItem(item);
45
- }
46
- }
47
- // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
48
- function set(setCookieHeaderValues) {
49
- for (const item of setCookieHeaderValues) {
50
- // отделяем значение от директив
51
- const [cookie] = item.split(';');
52
- setItem(cookie);
53
- }
54
- }
55
- // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
56
- function asHeader() {
57
- return Object.values(data)
58
- .map(cookie => `${cookie.name}=${cookie.value}`)
59
- .join('; ');
60
- }
61
- return { set, asHeader };
62
- }
63
- exports.createCookieStore = createCookieStore;
64
- //# sourceMappingURL=cookie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../src/http-client/middleware/cookie.ts"],"names":[],"mappings":";;;AAQA;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,OAAgB,EAAE,QAAkB;IAC1E,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvD,OAAO,KAAK,UAAU,aAAa,CAAC,MAAM,EAAE,IAAI;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;YACxB,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO;gBACjB,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE;aACzB;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;YAC3D,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YACxC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;SAChD;IACH,CAAC,CAAC;AACJ,CAAC;AAjBD,0DAiBC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,aAAsB;IACtD,MAAM,IAAI,GAAoD,EAAE,CAAC;IAEjE,8DAA8D;IAC9D,SAAS,OAAO,CAAC,UAAkB;QACjC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjF,IAAI,UAAU,IAAI,WAAW,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;SAC7D;IACH,CAAC;IAED,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE;QACzC,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;SACf;KACF;IAED,8DAA8D;IAC9D,SAAS,GAAG,CAAC,qBAA+B;QAC1C,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE;YACxC,gCAAgC;YAChC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,CAAC;SACjB;IACH,CAAC;IAED,8DAA8D;IAC9D,SAAS,QAAQ;QACf,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;aACvB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;aAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAnCD,8CAmCC"}
@@ -1,13 +0,0 @@
1
- import type { Request } from 'express';
2
- import type { Middleware } from 'middleware-axios';
3
- export interface PassHeadersOptions {
4
- predicate: (headerName: string, headerValue: string) => boolean;
5
- }
6
- /**
7
- * Возвращает новый промежуточный слой для проброса заголовков входящего запроса во все исходящие запросы.
8
- * Принудительно игнорирует заголовок Cookie.
9
- * @param req Request.
10
- * @param options Опции.
11
- * @return Промежуточный слой.
12
- */
13
- export declare function passHeadersMiddleware(req: Request, { predicate }?: PassHeadersOptions): Middleware<any>;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.passHeadersMiddleware = void 0;
4
- /**
5
- * Возвращает новый промежуточный слой для проброса заголовков входящего запроса во все исходящие запросы.
6
- * Принудительно игнорирует заголовок Cookie.
7
- * @param req Request.
8
- * @param options Опции.
9
- * @return Промежуточный слой.
10
- */
11
- function passHeadersMiddleware(req, { predicate } = { predicate: () => true }) {
12
- return async function passHeaders(config, next) {
13
- const headers = { ...config.headers };
14
- for (const headerName in req.headers) {
15
- const headerValue = req.headers[headerName];
16
- if (typeof headerValue === 'string' && predicate(headerName, headerValue)) {
17
- headers[headerName] = headerValue;
18
- }
19
- }
20
- // ВАЖНО: не ждем ответа тк он может упасть + нам не важен результат
21
- next({ ...config, headers });
22
- };
23
- }
24
- exports.passHeadersMiddleware = passHeadersMiddleware;
25
- //# sourceMappingURL=headers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../../src/http-client/middleware/headers.ts"],"names":[],"mappings":";;;AAQA;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,GAAY,EACZ,EAAE,SAAS,KAAyB,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;IAE7D,OAAO,KAAK,UAAU,WAAW,CAAC,MAAM,EAAE,IAAI;QAC5C,MAAM,OAAO,GAA2B,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAE9D,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,OAAO,EAAE;YACpC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE5C,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;gBACzE,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;aACnC;SACF;QAED,oEAAoE;QACpE,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC;AACJ,CAAC;AAlBD,sDAkBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/http-client/middleware/log.ts"],"names":[],"mappings":";;;AA4BA;;;;GAIG;AACH,SAAgB,aAAa,CAAC,WAAqC;IACjE,OAAO,KAAK,UAAU,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;QAC9C,MAAM,MAAM,GAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAEtF,IAAI;YACF,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;SACtD;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAE5C,8DAA8D;YAC9D,MAAM,KAAK,CAAC;SACb;IACH,CAAC,CAAC;AACJ,CAAC;AAlBD,sCAkBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/http-client/middleware/tracing.ts"],"names":[],"mappings":";;;AAEA,4CAAqE;AACrE,8EAAyE;AACzE,oCAAsC;AAEtC;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAc,EAAE,WAAoB;IACpE,OAAO,KAAK,UAAU,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;QAChD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,MAAM,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAE/E,IAAI,CAAC,aAAa,CAAC;YACjB,CAAC,yCAAkB,CAAC,QAAQ,CAAC,EAAE,GAAG;YAClC,CAAC,yCAAkB,CAAC,WAAW,CAAC,EAAE,MAAM;YACxC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC/B,GAAG,QAAQ,CAAC,MAAM;gBAClB,GAAG,MAAM,CAAC,MAAM;aACjB,CAAC;YACF,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC;gBAChC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAW,CAAC;gBAClD,GAAG,MAAM,CAAC,OAAO;aAClB,CAAC;YAEF,mCAAmC;YACnC,GAAG,CAAC,OAAO,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;SAC1C,CAAC,CAAC;QAEH,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;SACpB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,oBAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,qBAAqB;aAC/B,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,mBAAmB;YACnB,MAAM,KAAK,CAAC;SACb;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AArCD,8CAqCC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAC5B,MAA0B,EAC1B,QAAuB;IAMvB,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAEzD,wDAAwD;IACxD,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAErE,OAAO;QACL,MAAM;QACN,GAAG,EAAE,IAAA,kBAAU,EAAC,OAAO,EAAE,GAAG,CAAC;QAC7B,OAAO;KACR,CAAC;AACJ,CAAC;AAnBD,wCAmBC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACtF,CAAC;AAJD,kCAIC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http-client/sauce/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA4D;AAC5D,mDAA+D;AAoC/D;;;;GAIG;AACH,SAAgB,KAAK,CAAC,QAA8C;IAClE,OAAO;QACL,OAAO,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;QACxD,GAAG,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;QAChD,MAAM,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;QACtD,IAAI,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAClD,OAAO,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;QACxD,IAAI,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAClD,GAAG,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;QAChD,KAAK,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;KACrD,CAAC;AACJ,CAAC;AAXD,sBAWC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAI,IAAkC;IACpE,IAAI,IAAI,CAAC,EAAE,EAAE;QACX,OAAO;YACL,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;SAC3B,CAAC;KACH;SAAM;QACL,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,eAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS;YAC5E,MAAM,EAAE,eAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS;YAChF,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;KACH;AACH,CAAC;AAfD,4CAeC"}
@@ -1,6 +0,0 @@
1
- import type { AxiosRequestConfig } from 'axios';
2
- import type { AxiosInstanceWrapper } from 'middleware-axios';
3
- export type HttpClient = AxiosInstanceWrapper;
4
- export interface HttpClientFactory {
5
- (config?: AxiosRequestConfig): HttpClient;
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-client/utils.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,SAAgB,UAAU,CACxB,UAAyC,EAAE,EAC3C,MAAiC,EAAE;IAEnC,IAAI,MAAc,CAAC;IAEnB,QAAQ,IAAI,EAAE;QACZ,KAAK,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC;YAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;YACnE,MAAM;QACR,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;YAC3B,MAAM,GAAG,OAAO,CAAC;YACjB,MAAM;QACR,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;YAC3B,MAAM,GAAG,GAAG,CAAC;YACb,MAAM;QACR,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC;QACtB;YACE,MAAM,GAAG,SAAS,CAAC;YACnB,MAAM;KACT;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAvBD,gCAuBC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,MAA0B,EAC1B,QAAuB;IAEvB,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE,GAAG,QAAQ,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC;IAEzD,OAAO;QACL,MAAM;QACN,GAAG,YAAY;QACf,GAAG,MAAM;QACT,OAAO,EAAE;YACP,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,EAAmC,CAAC;YACzE,GAAG,MAAM,CAAC,OAAO;SAClB;KACF,CAAC;AACJ,CAAC;AAhBD,gDAgBC"}
@@ -1,4 +0,0 @@
1
- export declare const RESPONSE_EVENT: {
2
- readonly renderStart: symbol;
3
- readonly renderFinish: symbol;
4
- };
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RESPONSE_EVENT = void 0;
4
- exports.RESPONSE_EVENT = {
5
- renderStart: Symbol('render:start'),
6
- renderFinish: Symbol('render:finish'),
7
- };
8
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/http-server/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC;CAC7B,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Ошибка в процессе серверного рендеринга.
3
- */
4
- export declare class SSRError extends Error {
5
- statusCode: number;
6
- /**
7
- * @param message Сообщение.
8
- * @param statusCode Код ответа.
9
- */
10
- constructor(message: string, statusCode?: number);
11
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SSRError = void 0;
4
- /**
5
- * Ошибка в процессе серверного рендеринга.
6
- */
7
- class SSRError extends Error {
8
- /**
9
- * @param message Сообщение.
10
- * @param statusCode Код ответа.
11
- */
12
- constructor(message, statusCode = 500) {
13
- super(message);
14
- this.statusCode = statusCode;
15
- }
16
- }
17
- exports.SSRError = SSRError;
18
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/http-server/errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,QAAS,SAAQ,KAAK;IAGjC;;;OAGG;IACH,YAAY,OAAe,EAAE,UAAU,GAAG,GAAG;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAXD,4BAWC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"health-check.js","sourceRoot":"","sources":["../../../src/http-server/handler/health-check.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,SAAgB,WAAW;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAClB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC;AAND,kCAMC"}
@@ -1,23 +0,0 @@
1
- import type { Handler } from 'express';
2
- import type { BaseConfig } from '../../config/types';
3
- import * as PromClient from 'prom-client';
4
- import { ConventionalLabels } from '../../metrics/constants';
5
- /**
6
- * Возвращает новый middleware для формирования метрик входящего запроса.
7
- * @param config Конфиг.
8
- * @param metrics Метрики - счетчик запросов и гистограмма длительности ответа.
9
- * @return Middleware.
10
- */
11
- export declare function responseMetricsMiddleware(config: BaseConfig, metrics: {
12
- counter: PromClient.Counter<typeof ConventionalLabels.HTTP_RESPONSE[number]>;
13
- histogram: PromClient.Histogram<typeof ConventionalLabels.HTTP_RESPONSE[number]>;
14
- }): Handler;
15
- /**
16
- * Возвращает новый middleware для формирования метрик рендеринга верстки.
17
- * @param config Конфиг.
18
- * @param metrics Метрики - гистограмма длительности рендеринга.
19
- * @return Middleware.
20
- */
21
- export declare function renderMetricsMiddleware(config: BaseConfig, metrics: {
22
- histogram: PromClient.Histogram<typeof ConventionalLabels.SSR[number]>;
23
- }): Handler;
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.renderMetricsMiddleware = exports.responseMetricsMiddleware = void 0;
4
- const number_1 = require("../../utils/number");
5
- const constants_1 = require("../constants");
6
- /**
7
- * Возвращает новый middleware для формирования метрик входящего запроса.
8
- * @param config Конфиг.
9
- * @param metrics Метрики - счетчик запросов и гистограмма длительности ответа.
10
- * @return Middleware.
11
- */
12
- function responseMetricsMiddleware(config, metrics) {
13
- // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
14
- function resolveLabels(req, res) {
15
- return {
16
- version: config.appVersion,
17
- route: req.baseUrl + req.path,
18
- code: res.statusCode,
19
- method: req.method,
20
- };
21
- }
22
- return function responseMetrics(req, res, next) {
23
- const start = process.hrtime.bigint();
24
- metrics.counter.inc(resolveLabels(req, res), 1);
25
- res.once('finish', () => {
26
- const finish = process.hrtime.bigint();
27
- metrics.histogram.observe(resolveLabels(req, res), (0, number_1.toMilliseconds)(finish - start));
28
- });
29
- next();
30
- };
31
- }
32
- exports.responseMetricsMiddleware = responseMetricsMiddleware;
33
- /**
34
- * Возвращает новый middleware для формирования метрик рендеринга верстки.
35
- * @param config Конфиг.
36
- * @param metrics Метрики - гистограмма длительности рендеринга.
37
- * @return Middleware.
38
- */
39
- function renderMetricsMiddleware(config, metrics) {
40
- return function renderMetrics(req, res, next) {
41
- let start;
42
- res.once(constants_1.RESPONSE_EVENT.renderStart, () => {
43
- start = process.hrtime.bigint();
44
- });
45
- res.once(constants_1.RESPONSE_EVENT.renderFinish, () => {
46
- if (typeof start !== 'bigint') {
47
- throw Error('Looks like "render start" event not emitted');
48
- }
49
- const finish = process.hrtime.bigint();
50
- metrics.histogram.observe({
51
- version: config.appVersion,
52
- method: req.method,
53
- route: req.baseUrl + req.path,
54
- }, (0, number_1.toMilliseconds)(finish - start));
55
- });
56
- next();
57
- };
58
- }
59
- exports.renderMetricsMiddleware = renderMetricsMiddleware;
60
- //# sourceMappingURL=metrics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/http-server/middleware/metrics.ts"],"names":[],"mappings":";;;AAGA,+CAAoD;AACpD,4CAA8C;AAG9C;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,MAAkB,EAClB,OAGC;IAED,8DAA8D;IAC9D,SAAS,aAAa,CACpB,GAAY,EACZ,GAAa;QAEb,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,UAAU;YAC1B,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI;YAC7B,IAAI,EAAE,GAAG,CAAC,UAAU;YACpB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAEtC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhD,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAEvC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAA,uBAAc,EAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAjCD,8DAiCC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,MAAkB,EAClB,OAEC;IAED,OAAO,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QAC1C,IAAI,KAAyB,CAAC;QAE9B,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,EAAE,GAAG,EAAE;YACxC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,EAAE,GAAG,EAAE;YACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAC5D;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAEvC,OAAO,CAAC,SAAS,CAAC,OAAO,CACvB;gBACE,OAAO,EAAE,MAAM,CAAC,UAAU;gBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI;aAC9B,EACD,IAAA,uBAAc,EAAC,MAAM,GAAG,KAAK,CAAC,CAC/B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAhCD,0DAgCC"}
@@ -1,14 +0,0 @@
1
- import { Tracer } from '@opentelemetry/api';
2
- import type { Request, Handler } from 'express';
3
- /**
4
- * Возвращает новый middleware для трассировки стадий входящего запроса.
5
- * @param tracer Tracer.
6
- * @return Middleware.
7
- */
8
- export declare function tracingMiddleware(tracer: Tracer): Handler;
9
- /**
10
- * Возвращает набор стандартных атрибутов для спана.
11
- * @param req Входящий http-запрос.
12
- * @return Атрибуты.
13
- */
14
- export declare function getConventionalRequestAttrs(req: Request): Record<string, string | undefined>;
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getConventionalRequestAttrs = exports.tracingMiddleware = void 0;
4
- const constants_1 = require("../constants");
5
- const api_1 = require("@opentelemetry/api");
6
- /**
7
- * Возвращает новый middleware для трассировки стадий входящего запроса.
8
- * @param tracer Tracer.
9
- * @return Middleware.
10
- */
11
- function tracingMiddleware(tracer) {
12
- return function tracing(req, res, next) {
13
- const externalContext = api_1.propagation.extract(api_1.ROOT_CONTEXT, req.headers);
14
- const rootSpan = tracer.startSpan('response', undefined, externalContext);
15
- rootSpan.setAttributes(getConventionalRequestAttrs(req));
16
- const rootContext = api_1.trace.setSpan(externalContext, rootSpan);
17
- res.locals.tracing = {
18
- rootSpan,
19
- rootContext,
20
- };
21
- res.once(constants_1.RESPONSE_EVENT.renderStart, () => {
22
- res.locals.tracing.renderSpan = tracer.startSpan('render', undefined, rootContext);
23
- });
24
- res.once(constants_1.RESPONSE_EVENT.renderFinish, () => {
25
- res.locals.tracing.renderSpan.end();
26
- });
27
- res.once('finish', () => {
28
- rootSpan.end();
29
- });
30
- next();
31
- };
32
- }
33
- exports.tracingMiddleware = tracingMiddleware;
34
- /**
35
- * Возвращает набор стандартных атрибутов для спана.
36
- * @param req Входящий http-запрос.
37
- * @return Атрибуты.
38
- */
39
- function getConventionalRequestAttrs(req) {
40
- const result = {
41
- 'request.path': req.originalUrl,
42
- };
43
- for (const headerName in req.headers) {
44
- if (headerName.toLowerCase().startsWith('simaland-')) {
45
- result[headerName] = req.header(headerName);
46
- }
47
- }
48
- return result;
49
- }
50
- exports.getConventionalRequestAttrs = getConventionalRequestAttrs;
51
- //# sourceMappingURL=tracing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/http-server/middleware/tracing.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,4CAA8E;AAG9E;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QACpC,MAAM,eAAe,GAAG,iBAAW,CAAC,OAAO,CAAC,kBAAY,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAE1E,QAAQ,CAAC,aAAa,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAG,WAAK,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAE7D,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG;YACnB,QAAQ;YACR,WAAW;SACZ,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,EAAE,GAAG,EAAE;YACxC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,EAAE,GAAG,EAAE;YACzC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AA5BD,8CA4BC;AAED;;;;GAIG;AACH,SAAgB,2BAA2B,CAAC,GAAY;IACtD,MAAM,MAAM,GAAuC;QACjD,cAAc,EAAE,GAAG,CAAC,WAAW;KAChC,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,OAAO,EAAE;QACpC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YACpD,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAC7C;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,kEAYC"}
@@ -1 +0,0 @@
1
- export declare const pageTemplate: import("ejs").TemplateFunction;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pageTemplate = void 0;
4
- const ejs_1 = require("ejs");
5
- exports.pageTemplate = (0, ejs_1.compile)(`
6
- <!DOCTYPE html>
7
- <html lang="ru">
8
- <head>
9
- <meta charset="UTF-8">
10
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
11
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
12
- <title><%= title %></title>
13
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,600,700,700i,800&display=swap&subset=cyrillic">
14
- <style>
15
- * {
16
- box-sizing: border-box;
17
- }
18
- body {
19
- font-family: -apple-system,BlinkMacSystemFont,'Source Sans Pro',"Segoe UI",Roboto,"Helvetica Neue",Ubuntu,Arial,sans-serif;
20
- margin: 0;
21
- }
22
- </style>
23
- <% if (assets.criticalCss) { %>
24
- <link rel="stylesheet" href="<%= assets.criticalCss %>">
25
- <% } %>
26
- <% if (assets.css) { %>
27
- <link rel="stylesheet" href="<%= assets.css %>">
28
- <% } %>
29
- <% if (assets.criticalJs) { %>
30
- <script src="<%= assets.criticalJs %>"></script>
31
- <% } %>
32
- </head>
33
- <body>
34
- <%- markup %>
35
- <% if (assets.js) { %>
36
- <script src="<%= assets.js %>"></script>
37
- <% } %>
38
- </body>
39
- </html>
40
- `);
41
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http-server/template/index.ts"],"names":[],"mappings":";;;AAAA,6BAA8B;AAEjB,QAAA,YAAY,GAAG,IAAA,aAAO,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCnC,CAAC,CAAC"}
@@ -1,28 +0,0 @@
1
- import type { Request, Response, NextFunction } from 'express';
2
- export interface HandlerContext {
3
- req: Request;
4
- res: Response;
5
- next: NextFunction;
6
- }
7
- export interface PageAssets {
8
- js: string;
9
- css: string;
10
- criticalJs?: string;
11
- criticalCss?: string;
12
- }
13
- export interface PageTemplateData {
14
- markup: string;
15
- assets: PageAssets;
16
- type: 'json' | 'html';
17
- }
18
- export interface PageTemplate {
19
- (data: PageTemplateData): string;
20
- }
21
- export interface ConventionalJson {
22
- markup: string;
23
- bundle_js: string;
24
- bundle_css: string;
25
- critical_js?: string;
26
- critical_css?: string;
27
- meta?: any;
28
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/http-server/types.ts"],"names":[],"mappings":""}