hyperttp 0.2.4 → 0.2.5

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 (105) hide show
  1. package/dist/Hyperttp/Core/CacheManager.d.ts +63 -40
  2. package/dist/Hyperttp/Core/CacheManager.d.ts.map +1 -1
  3. package/dist/Hyperttp/Core/CacheManager.js +64 -62
  4. package/dist/Hyperttp/Core/CacheManager.js.map +1 -1
  5. package/dist/Hyperttp/Core/HttpClientImproved.d.ts +55 -33
  6. package/dist/Hyperttp/Core/HttpClientImproved.d.ts.map +1 -1
  7. package/dist/Hyperttp/Core/HttpClientImproved.js +307 -211
  8. package/dist/Hyperttp/Core/HttpClientImproved.js.map +1 -1
  9. package/dist/Hyperttp/Core/InterceptorManager.d.ts +11 -11
  10. package/dist/Hyperttp/Core/InterceptorManager.d.ts.map +1 -1
  11. package/dist/Hyperttp/Core/InterceptorManager.js +10 -10
  12. package/dist/Hyperttp/Core/InterceptorManager.js.map +1 -1
  13. package/dist/Hyperttp/Core/MetricsManager.d.ts +33 -42
  14. package/dist/Hyperttp/Core/MetricsManager.d.ts.map +1 -1
  15. package/dist/Hyperttp/Core/MetricsManager.js +147 -58
  16. package/dist/Hyperttp/Core/MetricsManager.js.map +1 -1
  17. package/dist/Hyperttp/Core/QueueManager.d.ts +6 -4
  18. package/dist/Hyperttp/Core/QueueManager.d.ts.map +1 -1
  19. package/dist/Hyperttp/Core/QueueManager.js +36 -34
  20. package/dist/Hyperttp/Core/QueueManager.js.map +1 -1
  21. package/dist/Hyperttp/Core/RateLimiter.d.ts +29 -36
  22. package/dist/Hyperttp/Core/RateLimiter.d.ts.map +1 -1
  23. package/dist/Hyperttp/Core/RateLimiter.js +96 -36
  24. package/dist/Hyperttp/Core/RateLimiter.js.map +1 -1
  25. package/dist/Hyperttp/Core/RequestBuilder.d.ts +3 -1
  26. package/dist/Hyperttp/Core/RequestBuilder.d.ts.map +1 -1
  27. package/dist/Hyperttp/Core/RequestBuilder.js +10 -3
  28. package/dist/Hyperttp/Core/RequestBuilder.js.map +1 -1
  29. package/dist/Hyperttp/Core/RequestExecutor.d.ts +7 -34
  30. package/dist/Hyperttp/Core/RequestExecutor.d.ts.map +1 -1
  31. package/dist/Hyperttp/Core/RequestExecutor.js +120 -114
  32. package/dist/Hyperttp/Core/RequestExecutor.js.map +1 -1
  33. package/dist/Hyperttp/Core/ResponseConverter.d.ts +23 -0
  34. package/dist/Hyperttp/Core/ResponseConverter.d.ts.map +1 -0
  35. package/dist/Hyperttp/Core/ResponseConverter.js +368 -0
  36. package/dist/Hyperttp/Core/ResponseConverter.js.map +1 -0
  37. package/dist/Hyperttp/Core/index.d.ts +7 -10
  38. package/dist/Hyperttp/Core/index.d.ts.map +1 -1
  39. package/dist/Hyperttp/Core/index.js +26 -15
  40. package/dist/Hyperttp/Core/index.js.map +1 -1
  41. package/dist/Hyperttp/UrlExtractor.d.ts +1 -1
  42. package/dist/Hyperttp/UrlExtractor.d.ts.map +1 -1
  43. package/dist/Hyperttp/index.d.ts +1 -3
  44. package/dist/Hyperttp/index.d.ts.map +1 -1
  45. package/dist/Hyperttp/index.js +7 -8
  46. package/dist/Hyperttp/index.js.map +1 -1
  47. package/dist/Types/cache.d.ts +10 -0
  48. package/dist/Types/cache.d.ts.map +1 -0
  49. package/dist/Types/cache.js +3 -0
  50. package/dist/Types/cache.js.map +1 -0
  51. package/dist/Types/errors.d.ts +15 -0
  52. package/dist/Types/errors.d.ts.map +1 -0
  53. package/dist/Types/errors.js +34 -0
  54. package/dist/Types/errors.js.map +1 -0
  55. package/dist/Types/http-client.d.ts +39 -0
  56. package/dist/Types/http-client.d.ts.map +1 -0
  57. package/dist/Types/http-client.js +3 -0
  58. package/dist/Types/http-client.js.map +1 -0
  59. package/dist/Types/http.d.ts +5 -0
  60. package/dist/Types/http.d.ts.map +1 -0
  61. package/dist/Types/http.js +3 -0
  62. package/dist/Types/http.js.map +1 -0
  63. package/dist/Types/index.d.ts +12 -127
  64. package/dist/Types/index.d.ts.map +1 -1
  65. package/dist/Types/index.js +12 -39
  66. package/dist/Types/index.js.map +1 -1
  67. package/dist/Types/interceptors.d.ts +13 -0
  68. package/dist/Types/interceptors.d.ts.map +1 -0
  69. package/dist/Types/interceptors.js +3 -0
  70. package/dist/Types/interceptors.js.map +1 -0
  71. package/dist/Types/metrics.d.ts +67 -0
  72. package/dist/Types/metrics.d.ts.map +1 -0
  73. package/dist/Types/metrics.js +3 -0
  74. package/dist/Types/metrics.js.map +1 -0
  75. package/dist/Types/options.d.ts +233 -0
  76. package/dist/Types/options.d.ts.map +1 -0
  77. package/dist/Types/options.js +3 -0
  78. package/dist/Types/options.js.map +1 -0
  79. package/dist/Types/queue.d.ts +8 -0
  80. package/dist/Types/queue.d.ts.map +1 -0
  81. package/dist/Types/queue.js +3 -0
  82. package/dist/Types/queue.js.map +1 -0
  83. package/dist/Types/request.d.ts +148 -9
  84. package/dist/Types/request.d.ts.map +1 -1
  85. package/dist/Types/response.d.ts +28 -0
  86. package/dist/Types/response.d.ts.map +1 -0
  87. package/dist/Types/response.js +3 -0
  88. package/dist/Types/response.js.map +1 -0
  89. package/dist/Types/stream.d.ts +39 -0
  90. package/dist/Types/stream.d.ts.map +1 -0
  91. package/dist/Types/stream.js +3 -0
  92. package/dist/Types/stream.js.map +1 -0
  93. package/dist/Types/url-extractor.d.ts +10 -0
  94. package/dist/Types/url-extractor.d.ts.map +1 -0
  95. package/dist/Types/url-extractor.js +3 -0
  96. package/dist/Types/url-extractor.js.map +1 -0
  97. package/dist/index.d.ts +1 -2
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +7 -3
  100. package/dist/index.js.map +1 -1
  101. package/package.json +7 -5
  102. package/dist/Hyperttp/Core/ResponseTransformer.d.ts +0 -35
  103. package/dist/Hyperttp/Core/ResponseTransformer.d.ts.map +0 -1
  104. package/dist/Hyperttp/Core/ResponseTransformer.js +0 -171
  105. package/dist/Hyperttp/Core/ResponseTransformer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"HttpClientImproved.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/HttpClientImproved.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpClientImproved.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/HttpClientImproved.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { RequestInterceptor, ResponseInterceptor } from "../../Types";
1
+ import { RequestInterceptor, ResponseInterceptor } from "../../Types/interceptors";
2
2
  /**
3
3
  * @class InterceptorManager
4
4
  * @en Manages registration and sequential execution of request and response interceptors.
@@ -10,20 +10,20 @@ export declare class InterceptorManager {
10
10
  /**
11
11
  * @en Adds a request interceptor to the chain.
12
12
  * @ru Добавляет перехватчик запроса в цепочку.
13
- * @param interceptor - Function that modifies the request config.
13
+ * @param interceptor Function that modifies request config before execution.
14
14
  */
15
15
  addRequest(interceptor: RequestInterceptor): void;
16
16
  /**
17
17
  * @en Adds a response interceptor to the chain.
18
18
  * @ru Добавляет перехватчик ответа в цепочку.
19
- * @param interceptor - Function that modifies the response data.
19
+ * @param interceptor Function that modifies response after execution.
20
20
  */
21
21
  addResponse(interceptor: ResponseInterceptor): void;
22
22
  /**
23
23
  * @en Sequentially applies all registered request interceptors.
24
- * @ru Последовательно применяет все зарегистрированные перехватчики к конфигурации запроса.
25
- * @param config - Current request configuration (url, method, headers, body).
26
- * @returns Modified request configuration.
24
+ * @ru Последовательно применяет все перехватчики к конфигурации запроса.
25
+ * @param config Initial request configuration.
26
+ * @returns Modified request configuration after all interceptors.
27
27
  */
28
28
  applyRequest(config: {
29
29
  url: string;
@@ -38,9 +38,9 @@ export declare class InterceptorManager {
38
38
  }>;
39
39
  /**
40
40
  * @en Sequentially applies all registered response interceptors.
41
- * @ru Последовательно применяет все зарегистрированные перехватчики к полученному ответу.
42
- * @param response - Raw response object (status, headers, body, url).
43
- * @returns Modified response object.
41
+ * @ru Последовательно применяет все перехватчики к ответу.
42
+ * @param response Raw HTTP response object.
43
+ * @returns Modified response after all interceptors.
44
44
  */
45
45
  applyResponse(response: {
46
46
  status: number;
@@ -54,8 +54,8 @@ export declare class InterceptorManager {
54
54
  url: string;
55
55
  }>;
56
56
  /**
57
- * @en Clears all registered interceptors.
58
- * @ru Полностью очищает все зарегистрированные перехватчики.
57
+ * @en Removes all registered interceptors.
58
+ * @ru Очищает все зарегистрированные перехватчики.
59
59
  */
60
60
  clear(): void;
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InterceptorManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/InterceptorManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtE;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,oBAAoB,CAA6B;IAEzD;;;;OAIG;IACH,UAAU,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAIjD;;;;OAIG;IACH,WAAW,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAInD;;;;;OAKG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB;aAJM,MAAM;gBACH,MAAM;iBACL,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;eACxB,MAAM,GAAG,MAAM;;IASxB;;;;;OAKG;IACG,aAAa,CAAC,QAAQ,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb;gBAJS,MAAM;iBACL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;cACtB,MAAM;aACP,MAAM;;IASb;;;OAGG;IACH,KAAK,IAAI,IAAI;CAId"}
1
+ {"version":3,"file":"InterceptorManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/InterceptorManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,oBAAoB,CAA6B;IAEzD;;;;OAIG;IACH,UAAU,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAIjD;;;;OAIG;IACH,WAAW,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAInD;;;;;OAKG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB;aAJM,MAAM;gBACH,MAAM;iBACL,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;eACxB,MAAM,GAAG,MAAM;;IAWxB;;;;;OAKG;IACG,aAAa,CAAC,QAAQ,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb;gBAJS,MAAM;iBACL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;cACtB,MAAM;aACP,MAAM;;IAWb;;;OAGG;IACH,KAAK,IAAI,IAAI;CAId"}
@@ -12,7 +12,7 @@ class InterceptorManager {
12
12
  /**
13
13
  * @en Adds a request interceptor to the chain.
14
14
  * @ru Добавляет перехватчик запроса в цепочку.
15
- * @param interceptor - Function that modifies the request config.
15
+ * @param interceptor Function that modifies request config before execution.
16
16
  */
17
17
  addRequest(interceptor) {
18
18
  this.requestInterceptors.push(interceptor);
@@ -20,16 +20,16 @@ class InterceptorManager {
20
20
  /**
21
21
  * @en Adds a response interceptor to the chain.
22
22
  * @ru Добавляет перехватчик ответа в цепочку.
23
- * @param interceptor - Function that modifies the response data.
23
+ * @param interceptor Function that modifies response after execution.
24
24
  */
25
25
  addResponse(interceptor) {
26
26
  this.responseInterceptors.push(interceptor);
27
27
  }
28
28
  /**
29
29
  * @en Sequentially applies all registered request interceptors.
30
- * @ru Последовательно применяет все зарегистрированные перехватчики к конфигурации запроса.
31
- * @param config - Current request configuration (url, method, headers, body).
32
- * @returns Modified request configuration.
30
+ * @ru Последовательно применяет все перехватчики к конфигурации запроса.
31
+ * @param config Initial request configuration.
32
+ * @returns Modified request configuration after all interceptors.
33
33
  */
34
34
  async applyRequest(config) {
35
35
  let result = config;
@@ -40,9 +40,9 @@ class InterceptorManager {
40
40
  }
41
41
  /**
42
42
  * @en Sequentially applies all registered response interceptors.
43
- * @ru Последовательно применяет все зарегистрированные перехватчики к полученному ответу.
44
- * @param response - Raw response object (status, headers, body, url).
45
- * @returns Modified response object.
43
+ * @ru Последовательно применяет все перехватчики к ответу.
44
+ * @param response Raw HTTP response object.
45
+ * @returns Modified response after all interceptors.
46
46
  */
47
47
  async applyResponse(response) {
48
48
  let result = response;
@@ -52,8 +52,8 @@ class InterceptorManager {
52
52
  return result;
53
53
  }
54
54
  /**
55
- * @en Clears all registered interceptors.
56
- * @ru Полностью очищает все зарегистрированные перехватчики.
55
+ * @en Removes all registered interceptors.
56
+ * @ru Очищает все зарегистрированные перехватчики.
57
57
  */
58
58
  clear() {
59
59
  this.requestInterceptors = [];
@@ -1 +1 @@
1
- {"version":3,"file":"InterceptorManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/InterceptorManager.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,MAAa,kBAAkB;IACrB,mBAAmB,GAAyB,EAAE,CAAC;IAC/C,oBAAoB,GAA0B,EAAE,CAAC;IAEzD;;;;OAIG;IACH,UAAU,CAAC,WAA+B;QACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,WAAgC;QAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,MAKlB;QACC,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnD,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,QAKnB;QACC,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;IACjC,CAAC;CACF;AApED,gDAoEC"}
1
+ {"version":3,"file":"InterceptorManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/InterceptorManager.ts"],"names":[],"mappings":";;;AAKA;;;;GAIG;AACH,MAAa,kBAAkB;IACrB,mBAAmB,GAAyB,EAAE,CAAC;IAC/C,oBAAoB,GAA0B,EAAE,CAAC;IAEzD;;;;OAIG;IACH,UAAU,CAAC,WAA+B;QACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,WAAgC;QAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,MAKlB;QACC,IAAI,MAAM,GAAG,MAAM,CAAC;QAEpB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnD,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,QAKnB;QACC,IAAI,MAAM,GAAG,QAAQ,CAAC;QAEtB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;IACjC,CAAC;CACF;AAxED,gDAwEC"}
@@ -1,66 +1,51 @@
1
- import { RequestMetrics } from "../../Types";
2
- /**
3
- * @interface MetricsConfig
4
- * @en Configuration for the metrics and circuit breaker behavior.
5
- * @ru Конфигурация для метрик и поведения предохранителя (circuit breaker).
6
- */
7
- export interface MetricsConfig {
8
- /** * @en Maximum number of entries in history.
9
- * @ru Максимальное количество записей в истории. (default: 1000)
10
- */
11
- maxHistory?: number;
12
- /** * @en Time to keep metrics in ms.
13
- * @ru Время хранения метрик в миллисекундах. (default: 1 hour)
14
- */
15
- ttl?: number;
16
- }
17
- /**
18
- * @class MetricsManager
19
- * @en Collects request statistics and manages Circuit Breaker states for hosts.
20
- * @ru Собирает статистику запросов и управляет состояниями Circuit Breaker для хостов.
21
- */
1
+ import type { RequestMetrics } from "../../Types/metrics";
2
+ import { MetricsOptions } from "../../Types/options";
22
3
  export declare class MetricsManager {
23
- private history;
24
- private hostStates;
4
+ private readonly history;
5
+ private readonly hostStates;
6
+ private readonly scopeDepth;
25
7
  private readonly failureThreshold;
26
8
  private readonly resetTimeout;
9
+ private readonly slowRequestMs;
10
+ private readonly weights;
27
11
  private _totalBytesAccumulator;
28
- constructor(config?: MetricsConfig);
12
+ constructor(config?: MetricsOptions);
29
13
  /**
30
- * @en Extracts a scope (host + base path) from a URL for granular circuit breaking.
31
- * @ru Извлекает область (хост + базовый путь) из URL для точечной работы предохранителя.
14
+ * @ru Извлекает scope (host + первый сегмент пути) для circuit breaker.
15
+ * @en Extracts scope (host + first path segment) for circuit breaker.
32
16
  */
33
17
  private getScope;
18
+ private getOrCreateState;
34
19
  /**
35
- * @en Records request metrics and updates host failure state.
36
- * @ru Записывает метрики запроса и обновляет состояние ошибок хоста.
20
+ * @ru Проверяет, открыт ли circuit breaker для URL.
21
+ * @en Checks whether the circuit breaker is open for a URL.
22
+ */
23
+ isCircuitOpen(url: string): boolean;
24
+ /**
25
+ * @ru Регистрирует метрику и обновляет состояние circuit breaker.
26
+ * @en Records request metrics and updates circuit breaker state.
37
27
  */
38
28
  record(metrics: RequestMetrics & {
39
29
  cacheHit?: boolean;
40
30
  }): void;
41
31
  /**
42
- * @en Gets a specific metric record by its generated key.
43
- * @ru Получает конкретную запись метрики по её сгенерированному ключу.
32
+ * @ru Получает метрику по ключу.
33
+ * @en Retrieves a metric entry by key.
44
34
  */
45
35
  get(key: string): RequestMetrics | undefined;
46
36
  /**
47
- * @en Returns all metrics currently stored in history.
48
- * @ru Возвращает все метрики, хранящиеся в истории.
37
+ * @ru Возвращает все метрики.
38
+ * @en Returns all stored metrics.
49
39
  */
50
40
  getAll(): RequestMetrics[];
51
41
  /**
52
- * @en Checks if the circuit is open for a given URL (prevents request execution).
53
- * @ru Проверяет, "разомкнута" ли цепь для данного URL (предотвращает выполнение запроса).
54
- */
55
- isCircuitOpen(url: string): boolean;
56
- /**
42
+ * @ru Увеличивает счётчик полученных байтов.
57
43
  * @en Increments total received bytes counter.
58
- * @ru Увеличивает счетчик общего объема полученных байтов.
59
44
  */
60
45
  recordBytes(bytes: number): void;
61
46
  /**
62
- * @en Calculates performance summary statistics (Avg, P99, Success Rate).
63
- * @ru Вычисляет сводную статистику производительности (Среднее, P99, % успеха).
47
+ * @ru Возвращает сводную статистику.
48
+ * @en Returns performance summary statistics.
64
49
  */
65
50
  getSummary(): {
66
51
  totalRequests: number;
@@ -70,11 +55,17 @@ export declare class MetricsManager {
70
55
  errorCount: number;
71
56
  maxDurationMs: number;
72
57
  p99DurationMs: number;
58
+ openCircuits: number;
73
59
  } | null;
74
60
  /**
75
- * @en Clears metrics history and host failure states.
76
- * @ru Очищает историю метрик и состояния ошибок хостов.
61
+ * @ru Очищает историю и состояния circuit breaker.
62
+ * @en Clears metrics history and circuit breaker states.
77
63
  */
78
64
  clear(): void;
65
+ private storeMetrics;
66
+ private updateCircuit;
67
+ private getFailureWeight;
68
+ private percentile;
69
+ private getOpenCircuitCount;
79
70
  }
80
71
  //# sourceMappingURL=MetricsManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetricsManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/MetricsManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,UAAU,CAMJ;IAEd,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,sBAAsB,CAAa;gBAE/B,MAAM,CAAC,EAAE,aAAa;IAQlC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAUhB;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAwB9D;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI5C;;;OAGG;IACH,MAAM,IAAI,cAAc,EAAE;IAI1B;;;OAGG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAenC;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC;;;OAGG;IACH,UAAU;;;;;;;;;IA8BV;;;OAGG;IACH,KAAK,IAAI,IAAI;CAKd"}
1
+ {"version":3,"file":"MetricsManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/MetricsManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAE9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmD;IAE3E,OAAO,CAAC,sBAAsB,CAAK;gBAEvB,MAAM,CAAC,EAAE,cAAc;IAoBnC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,gBAAgB;IAkBxB;;;OAGG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAgCnC;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAK9D;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI5C;;;OAGG;IACH,MAAM,IAAI,cAAc,EAAE;IAI1B;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC;;;OAGG;IACH,UAAU;;;;;;;;;;IA8BV;;;OAGG;IACH,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,mBAAmB;CAO5B"}
@@ -2,16 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MetricsManager = void 0;
4
4
  const lru_cache_1 = require("lru-cache");
5
- /**
6
- * @class MetricsManager
7
- * @en Collects request statistics and manages Circuit Breaker states for hosts.
8
- * @ru Собирает статистику запросов и управляет состояниями Circuit Breaker для хостов.
9
- */
10
5
  class MetricsManager {
11
6
  history;
12
7
  hostStates = new Map();
13
- failureThreshold = 5;
14
- resetTimeout = 30000;
8
+ scopeDepth;
9
+ failureThreshold;
10
+ resetTimeout;
11
+ slowRequestMs;
12
+ weights;
15
13
  _totalBytesAccumulator = 0;
16
14
  constructor(config) {
17
15
  this.history = new lru_cache_1.LRUCache({
@@ -19,85 +17,108 @@ class MetricsManager {
19
17
  ttl: config?.ttl ?? 1000 * 60 * 60,
20
18
  ttlAutopurge: true,
21
19
  });
20
+ this.scopeDepth = Math.max(1, config?.scopeDepth ?? 1);
21
+ this.failureThreshold = Math.max(1, config?.failureThreshold ?? 5);
22
+ this.resetTimeout = Math.max(1, config?.resetTimeout ?? 30_000);
23
+ this.slowRequestMs = Math.max(1, config?.slowRequestMs ?? 5_000);
24
+ this.weights = {
25
+ timeout: config?.weights?.timeout ?? 2,
26
+ serverError: config?.weights?.serverError ?? 1,
27
+ rateLimit: config?.weights?.rateLimit ?? 1.5,
28
+ slowRequest: config?.weights?.slowRequest ?? 0.5,
29
+ other: config?.weights?.other ?? 1,
30
+ };
22
31
  }
23
32
  /**
24
- * @en Extracts a scope (host + base path) from a URL for granular circuit breaking.
25
- * @ru Извлекает область (хост + базовый путь) из URL для точечной работы предохранителя.
33
+ * @ru Извлекает scope (host + первый сегмент пути) для circuit breaker.
34
+ * @en Extracts scope (host + first path segment) for circuit breaker.
26
35
  */
27
36
  getScope(url) {
28
37
  try {
29
38
  const u = new URL(url);
30
- // Берём хост и первый сегмент пути, чтобы не блокировать весь домен из-за одной API-ручки
31
- return `${u.host}${u.pathname.split("/").slice(0, 2).join("/")}`;
39
+ const segments = u.pathname.split("/").filter(Boolean);
40
+ const scopedPath = segments.slice(0, this.scopeDepth).join("/");
41
+ return scopedPath ? `${u.host}/${scopedPath}` : u.host;
32
42
  }
33
43
  catch {
34
44
  return "unknown";
35
45
  }
36
46
  }
47
+ getOrCreateState(scope) {
48
+ let state = this.hostStates.get(scope);
49
+ if (!state) {
50
+ state = {
51
+ state: "CLOSED",
52
+ failureScore: 0,
53
+ consecutiveFailures: 0,
54
+ lastFailureTime: 0,
55
+ lastTransitionTime: Date.now(),
56
+ probeInFlight: false,
57
+ };
58
+ this.hostStates.set(scope, state);
59
+ }
60
+ return state;
61
+ }
37
62
  /**
38
- * @en Records request metrics and updates host failure state.
39
- * @ru Записывает метрики запроса и обновляет состояние ошибок хоста.
63
+ * @ru Проверяет, открыт ли circuit breaker для URL.
64
+ * @en Checks whether the circuit breaker is open for a URL.
40
65
  */
41
- record(metrics) {
42
- const key = `${metrics.method}:${metrics.url}:${Date.now()}`;
43
- this.history.set(key, metrics);
44
- const host = this.getScope(metrics.url);
45
- let state = this.hostStates.get(host);
46
- if (!state) {
47
- state = { consecutiveFailures: 0, lastFailureTime: 0 };
48
- this.hostStates.set(host, state);
66
+ isCircuitOpen(url) {
67
+ const scope = this.getScope(url);
68
+ const state = this.getOrCreateState(scope);
69
+ if (state.state === "CLOSED") {
70
+ return false;
49
71
  }
50
- const isFailure = (metrics.statusCode && metrics.statusCode >= 500) ||
51
- metrics.duration > 5000;
52
- if (isFailure) {
53
- state.consecutiveFailures++;
54
- state.lastFailureTime = Date.now();
72
+ if (state.state === "OPEN") {
73
+ const elapsed = Date.now() - state.lastTransitionTime;
74
+ if (elapsed < this.resetTimeout) {
75
+ return true;
76
+ }
77
+ state.state = "HALF_OPEN";
78
+ state.probeInFlight = false;
79
+ state.lastTransitionTime = Date.now();
55
80
  }
56
- else {
57
- state.consecutiveFailures = 0; // Сброс при успешном запросе (сценарий "Half-Open")
81
+ if (state.state === "HALF_OPEN") {
82
+ if (state.probeInFlight) {
83
+ return true;
84
+ }
85
+ state.probeInFlight = true;
86
+ return false;
58
87
  }
88
+ return false;
89
+ }
90
+ /**
91
+ * @ru Регистрирует метрику и обновляет состояние circuit breaker.
92
+ * @en Records request metrics and updates circuit breaker state.
93
+ */
94
+ record(metrics) {
95
+ this.storeMetrics(metrics);
96
+ this.updateCircuit(metrics);
59
97
  }
60
98
  /**
61
- * @en Gets a specific metric record by its generated key.
62
- * @ru Получает конкретную запись метрики по её сгенерированному ключу.
99
+ * @ru Получает метрику по ключу.
100
+ * @en Retrieves a metric entry by key.
63
101
  */
64
102
  get(key) {
65
103
  return this.history.get(key);
66
104
  }
67
105
  /**
68
- * @en Returns all metrics currently stored in history.
69
- * @ru Возвращает все метрики, хранящиеся в истории.
106
+ * @ru Возвращает все метрики.
107
+ * @en Returns all stored metrics.
70
108
  */
71
109
  getAll() {
72
110
  return Array.from(this.history.values());
73
111
  }
74
112
  /**
75
- * @en Checks if the circuit is open for a given URL (prevents request execution).
76
- * @ru Проверяет, "разомкнута" ли цепь для данного URL (предотвращает выполнение запроса).
77
- */
78
- isCircuitOpen(url) {
79
- const host = this.getScope(url);
80
- const state = this.hostStates.get(host);
81
- if (!state)
82
- return false;
83
- if (state.consecutiveFailures >= this.failureThreshold) {
84
- const timeSinceLastFailure = Date.now() - state.lastFailureTime;
85
- // Если таймаут прошел, даем шанс (Half-Open), если нет — цепь разомкнута (Open)
86
- return timeSinceLastFailure < this.resetTimeout;
87
- }
88
- return false;
89
- }
90
- /**
113
+ * @ru Увеличивает счётчик полученных байтов.
91
114
  * @en Increments total received bytes counter.
92
- * @ru Увеличивает счетчик общего объема полученных байтов.
93
115
  */
94
116
  recordBytes(bytes) {
95
- // Мы можем хранить общее количество байтов отдельно для глобальной статистики
96
- this._totalBytesAccumulator = (this._totalBytesAccumulator || 0) + bytes;
117
+ this._totalBytesAccumulator += Math.max(0, bytes);
97
118
  }
98
119
  /**
99
- * @en Calculates performance summary statistics (Avg, P99, Success Rate).
100
- * @ru Вычисляет сводную статистику производительности (Среднее, P99, % успеха).
120
+ * @ru Возвращает сводную статистику.
121
+ * @en Returns performance summary statistics.
101
122
  */
102
123
  getSummary() {
103
124
  const all = this.getAll();
@@ -108,14 +129,14 @@ class MetricsManager {
108
129
  let totalDuration = 0;
109
130
  let maxDur = 0;
110
131
  for (const m of all) {
111
- if (m.statusCode && m.statusCode < 400)
132
+ if ((m.statusCode ?? 0) < 400 && (m.statusCode ?? 0) !== 0)
112
133
  successful++;
113
134
  totalDuration += m.duration;
114
135
  if (m.duration > maxDur)
115
136
  maxDur = m.duration;
116
137
  }
117
- const durations = all.map((m) => m.duration).sort((a, b) => a - b);
118
- const p99 = durations.length > 0 ? durations[Math.floor(durations.length * 0.99)] : 0;
138
+ const durations = all.map((m) => m.duration);
139
+ const p99 = this.percentile(durations, 99);
119
140
  return {
120
141
  totalRequests: total,
121
142
  successRate: (successful / total) * 100,
@@ -124,17 +145,85 @@ class MetricsManager {
124
145
  errorCount: total - successful,
125
146
  maxDurationMs: maxDur,
126
147
  p99DurationMs: p99,
148
+ openCircuits: this.getOpenCircuitCount(),
127
149
  };
128
150
  }
129
151
  /**
130
- * @en Clears metrics history and host failure states.
131
- * @ru Очищает историю метрик и состояния ошибок хостов.
152
+ * @ru Очищает историю и состояния circuit breaker.
153
+ * @en Clears metrics history and circuit breaker states.
132
154
  */
133
155
  clear() {
134
156
  this.history.clear();
135
157
  this.hostStates.clear();
136
158
  this._totalBytesAccumulator = 0;
137
159
  }
160
+ storeMetrics(metrics) {
161
+ const key = `${metrics.method}:${metrics.url}:${Date.now()}`;
162
+ this.history.set(key, metrics);
163
+ }
164
+ updateCircuit(metrics) {
165
+ const scope = this.getScope(metrics.url);
166
+ const state = this.getOrCreateState(scope);
167
+ const failureWeight = this.getFailureWeight(metrics);
168
+ if (failureWeight > 0) {
169
+ state.failureScore += failureWeight;
170
+ state.consecutiveFailures += 1;
171
+ state.lastFailureTime = Date.now();
172
+ if (state.state === "HALF_OPEN" ||
173
+ state.failureScore >= this.failureThreshold) {
174
+ state.state = "OPEN";
175
+ state.probeInFlight = false;
176
+ state.lastTransitionTime = Date.now();
177
+ }
178
+ return;
179
+ }
180
+ state.failureScore = 0;
181
+ state.consecutiveFailures = 0;
182
+ if (state.state === "HALF_OPEN" || state.state === "OPEN") {
183
+ state.state = "CLOSED";
184
+ state.probeInFlight = false;
185
+ state.lastTransitionTime = Date.now();
186
+ }
187
+ }
188
+ getFailureWeight(metrics) {
189
+ const status = metrics.statusCode ?? 0;
190
+ if (status === 0) {
191
+ return this.weights.timeout;
192
+ }
193
+ if (status === 429) {
194
+ return this.weights.rateLimit;
195
+ }
196
+ if (status >= 500) {
197
+ return this.weights.serverError;
198
+ }
199
+ if (metrics.duration >= this.slowRequestMs) {
200
+ return this.weights.slowRequest;
201
+ }
202
+ if (status >= 400) {
203
+ return this.weights.other;
204
+ }
205
+ return 0;
206
+ }
207
+ percentile(arr, p) {
208
+ if (arr.length === 0)
209
+ return 0;
210
+ const sorted = [...arr].sort((a, b) => a - b);
211
+ const rank = (p / 100) * (sorted.length - 1);
212
+ const low = Math.floor(rank);
213
+ const high = Math.ceil(rank);
214
+ if (low === high)
215
+ return sorted[low];
216
+ const weight = rank - low;
217
+ return Math.round(sorted[low] * (1 - weight) + sorted[high] * weight);
218
+ }
219
+ getOpenCircuitCount() {
220
+ let count = 0;
221
+ for (const state of this.hostStates.values()) {
222
+ if (state.state === "OPEN")
223
+ count++;
224
+ }
225
+ return count;
226
+ }
138
227
  }
139
228
  exports.MetricsManager = MetricsManager;
140
229
  //# sourceMappingURL=MetricsManager.js.map