hyperttp 0.2.6 → 0.3.1

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 (152) hide show
  1. package/Hyperttp/Client/HyperClient.d.ts +30 -0
  2. package/Hyperttp/Client/HyperClient.d.ts.map +1 -0
  3. package/Hyperttp/Client/HyperClient.js +215 -0
  4. package/Hyperttp/Client/HyperClient.js.map +1 -0
  5. package/{dist/Hyperttp → Hyperttp}/Request.d.ts +1 -1
  6. package/{dist/Hyperttp → Hyperttp}/Request.d.ts.map +1 -1
  7. package/{dist/Hyperttp → Hyperttp}/Request.js +2 -7
  8. package/Hyperttp/Request.js.map +1 -0
  9. package/{dist/Hyperttp → Hyperttp}/UrlExtractor.d.ts +1 -1
  10. package/{dist/Hyperttp → Hyperttp}/UrlExtractor.d.ts.map +1 -1
  11. package/{dist/Hyperttp → Hyperttp}/UrlExtractor.js +1 -4
  12. package/Hyperttp/UrlExtractor.js.map +1 -0
  13. package/Hyperttp/Utils/RequestBuilder.d.ts +32 -0
  14. package/Hyperttp/Utils/RequestBuilder.d.ts.map +1 -0
  15. package/Hyperttp/Utils/RequestBuilder.js +129 -0
  16. package/Hyperttp/Utils/RequestBuilder.js.map +1 -0
  17. package/Hyperttp/Utils/index.d.ts +2 -0
  18. package/Hyperttp/Utils/index.d.ts.map +1 -0
  19. package/Hyperttp/Utils/index.js +2 -0
  20. package/Hyperttp/Utils/index.js.map +1 -0
  21. package/Hyperttp/Utils/merge.d.ts +2 -0
  22. package/Hyperttp/Utils/merge.d.ts.map +1 -0
  23. package/Hyperttp/Utils/merge.js +25 -0
  24. package/Hyperttp/Utils/merge.js.map +1 -0
  25. package/Hyperttp/defaultConfig.d.ts +3 -0
  26. package/Hyperttp/defaultConfig.d.ts.map +1 -0
  27. package/Hyperttp/defaultConfig.js +39 -0
  28. package/Hyperttp/defaultConfig.js.map +1 -0
  29. package/Hyperttp/index.d.ts +6 -0
  30. package/Hyperttp/index.d.ts.map +1 -0
  31. package/Hyperttp/index.js +6 -0
  32. package/Hyperttp/index.js.map +1 -0
  33. package/{dist/Types → Types}/http-client.d.ts +2 -6
  34. package/Types/http-client.d.ts.map +1 -0
  35. package/Types/http-client.js +2 -0
  36. package/Types/index.d.ts +3 -0
  37. package/Types/index.d.ts.map +1 -0
  38. package/Types/index.js +3 -0
  39. package/Types/index.js.map +1 -0
  40. package/Types/url-extractor.js +2 -0
  41. package/index.d.ts +13 -0
  42. package/index.d.ts.map +1 -0
  43. package/index.js +12 -0
  44. package/index.js.map +1 -0
  45. package/package.json +22 -11
  46. package/LICENSE +0 -21
  47. package/README.md +0 -195
  48. package/dist/Hyperttp/Core/CacheManager.d.ts +0 -84
  49. package/dist/Hyperttp/Core/CacheManager.d.ts.map +0 -1
  50. package/dist/Hyperttp/Core/CacheManager.js +0 -109
  51. package/dist/Hyperttp/Core/CacheManager.js.map +0 -1
  52. package/dist/Hyperttp/Core/HttpClientImproved.d.ts +0 -149
  53. package/dist/Hyperttp/Core/HttpClientImproved.d.ts.map +0 -1
  54. package/dist/Hyperttp/Core/HttpClientImproved.js +0 -541
  55. package/dist/Hyperttp/Core/HttpClientImproved.js.map +0 -1
  56. package/dist/Hyperttp/Core/InterceptorManager.d.ts +0 -62
  57. package/dist/Hyperttp/Core/InterceptorManager.d.ts.map +0 -1
  58. package/dist/Hyperttp/Core/InterceptorManager.js +0 -64
  59. package/dist/Hyperttp/Core/InterceptorManager.js.map +0 -1
  60. package/dist/Hyperttp/Core/MetricsManager.d.ts +0 -71
  61. package/dist/Hyperttp/Core/MetricsManager.d.ts.map +0 -1
  62. package/dist/Hyperttp/Core/MetricsManager.js +0 -246
  63. package/dist/Hyperttp/Core/MetricsManager.js.map +0 -1
  64. package/dist/Hyperttp/Core/QueueManager.d.ts +0 -16
  65. package/dist/Hyperttp/Core/QueueManager.d.ts.map +0 -1
  66. package/dist/Hyperttp/Core/QueueManager.js +0 -75
  67. package/dist/Hyperttp/Core/QueueManager.js.map +0 -1
  68. package/dist/Hyperttp/Core/RateLimiter.d.ts +0 -63
  69. package/dist/Hyperttp/Core/RateLimiter.d.ts.map +0 -1
  70. package/dist/Hyperttp/Core/RateLimiter.js +0 -170
  71. package/dist/Hyperttp/Core/RateLimiter.js.map +0 -1
  72. package/dist/Hyperttp/Core/RequestBuilder.d.ts +0 -83
  73. package/dist/Hyperttp/Core/RequestBuilder.d.ts.map +0 -1
  74. package/dist/Hyperttp/Core/RequestBuilder.js +0 -169
  75. package/dist/Hyperttp/Core/RequestBuilder.js.map +0 -1
  76. package/dist/Hyperttp/Core/RequestExecutor.d.ts +0 -31
  77. package/dist/Hyperttp/Core/RequestExecutor.d.ts.map +0 -1
  78. package/dist/Hyperttp/Core/RequestExecutor.js +0 -167
  79. package/dist/Hyperttp/Core/RequestExecutor.js.map +0 -1
  80. package/dist/Hyperttp/Core/RequestProfiler.d.ts +0 -10
  81. package/dist/Hyperttp/Core/RequestProfiler.d.ts.map +0 -1
  82. package/dist/Hyperttp/Core/RequestProfiler.js +0 -55
  83. package/dist/Hyperttp/Core/RequestProfiler.js.map +0 -1
  84. package/dist/Hyperttp/Core/ResponseConverter.d.ts +0 -23
  85. package/dist/Hyperttp/Core/ResponseConverter.d.ts.map +0 -1
  86. package/dist/Hyperttp/Core/ResponseConverter.js +0 -369
  87. package/dist/Hyperttp/Core/ResponseConverter.js.map +0 -1
  88. package/dist/Hyperttp/Core/index.d.ts +0 -27
  89. package/dist/Hyperttp/Core/index.d.ts.map +0 -1
  90. package/dist/Hyperttp/Core/index.js +0 -56
  91. package/dist/Hyperttp/Core/index.js.map +0 -1
  92. package/dist/Hyperttp/Request.js.map +0 -1
  93. package/dist/Hyperttp/UrlExtractor.js.map +0 -1
  94. package/dist/Hyperttp/index.d.ts +0 -5
  95. package/dist/Hyperttp/index.d.ts.map +0 -1
  96. package/dist/Hyperttp/index.js +0 -24
  97. package/dist/Hyperttp/index.js.map +0 -1
  98. package/dist/Types/cache.d.ts +0 -10
  99. package/dist/Types/cache.d.ts.map +0 -1
  100. package/dist/Types/cache.js +0 -3
  101. package/dist/Types/cache.js.map +0 -1
  102. package/dist/Types/errors.d.ts +0 -15
  103. package/dist/Types/errors.d.ts.map +0 -1
  104. package/dist/Types/errors.js +0 -34
  105. package/dist/Types/errors.js.map +0 -1
  106. package/dist/Types/http-client.d.ts.map +0 -1
  107. package/dist/Types/http-client.js +0 -3
  108. package/dist/Types/http.d.ts +0 -5
  109. package/dist/Types/http.d.ts.map +0 -1
  110. package/dist/Types/http.js +0 -3
  111. package/dist/Types/http.js.map +0 -1
  112. package/dist/Types/index.d.ts +0 -13
  113. package/dist/Types/index.d.ts.map +0 -1
  114. package/dist/Types/index.js +0 -29
  115. package/dist/Types/index.js.map +0 -1
  116. package/dist/Types/interceptors.d.ts +0 -13
  117. package/dist/Types/interceptors.d.ts.map +0 -1
  118. package/dist/Types/interceptors.js +0 -3
  119. package/dist/Types/interceptors.js.map +0 -1
  120. package/dist/Types/metrics.d.ts +0 -90
  121. package/dist/Types/metrics.d.ts.map +0 -1
  122. package/dist/Types/metrics.js +0 -3
  123. package/dist/Types/metrics.js.map +0 -1
  124. package/dist/Types/options.d.ts +0 -233
  125. package/dist/Types/options.d.ts.map +0 -1
  126. package/dist/Types/options.js +0 -3
  127. package/dist/Types/options.js.map +0 -1
  128. package/dist/Types/queue.d.ts +0 -8
  129. package/dist/Types/queue.d.ts.map +0 -1
  130. package/dist/Types/queue.js +0 -3
  131. package/dist/Types/queue.js.map +0 -1
  132. package/dist/Types/request.d.ts +0 -189
  133. package/dist/Types/request.d.ts.map +0 -1
  134. package/dist/Types/request.js +0 -3
  135. package/dist/Types/request.js.map +0 -1
  136. package/dist/Types/response.d.ts +0 -28
  137. package/dist/Types/response.d.ts.map +0 -1
  138. package/dist/Types/response.js +0 -3
  139. package/dist/Types/response.js.map +0 -1
  140. package/dist/Types/stream.d.ts +0 -39
  141. package/dist/Types/stream.d.ts.map +0 -1
  142. package/dist/Types/stream.js +0 -3
  143. package/dist/Types/stream.js.map +0 -1
  144. package/dist/Types/url-extractor.js +0 -3
  145. package/dist/index.d.ts +0 -3
  146. package/dist/index.d.ts.map +0 -1
  147. package/dist/index.js +0 -18
  148. package/dist/index.js.map +0 -1
  149. /package/{dist/Types → Types}/http-client.js.map +0 -0
  150. /package/{dist/Types → Types}/url-extractor.d.ts +0 -0
  151. /package/{dist/Types → Types}/url-extractor.d.ts.map +0 -0
  152. /package/{dist/Types → Types}/url-extractor.js.map +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"HttpClientImproved.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/HttpClientImproved.ts"],"names":[],"mappings":"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"}
@@ -1,62 +0,0 @@
1
- import { RequestInterceptor, ResponseInterceptor } from "../../Types/interceptors";
2
- /**
3
- * @class InterceptorManager
4
- * @en Manages registration and sequential execution of request and response interceptors.
5
- * @ru Управляет регистрацией и последовательным выполнением перехватчиков запроса и ответа.
6
- */
7
- export declare class InterceptorManager {
8
- private requestInterceptors;
9
- private responseInterceptors;
10
- /**
11
- * @en Adds a request interceptor to the chain.
12
- * @ru Добавляет перехватчик запроса в цепочку.
13
- * @param interceptor Function that modifies request config before execution.
14
- */
15
- addRequest(interceptor: RequestInterceptor): void;
16
- /**
17
- * @en Adds a response interceptor to the chain.
18
- * @ru Добавляет перехватчик ответа в цепочку.
19
- * @param interceptor Function that modifies response after execution.
20
- */
21
- addResponse(interceptor: ResponseInterceptor): void;
22
- /**
23
- * @en Sequentially applies all registered request interceptors.
24
- * @ru Последовательно применяет все перехватчики к конфигурации запроса.
25
- * @param config Initial request configuration.
26
- * @returns Modified request configuration after all interceptors.
27
- */
28
- applyRequest(config: {
29
- url: string;
30
- method: string;
31
- headers: Record<string, string>;
32
- body?: string | Buffer;
33
- }): Promise<{
34
- url: string;
35
- method: string;
36
- headers: Record<string, string>;
37
- body?: string | Buffer;
38
- }>;
39
- /**
40
- * @en Sequentially applies all registered response interceptors.
41
- * @ru Последовательно применяет все перехватчики к ответу.
42
- * @param response Raw HTTP response object.
43
- * @returns Modified response after all interceptors.
44
- */
45
- applyResponse(response: {
46
- status: number;
47
- headers: Record<string, any>;
48
- body: Buffer;
49
- url: string;
50
- }): Promise<{
51
- status: number;
52
- headers: Record<string, any>;
53
- body: Buffer;
54
- url: string;
55
- }>;
56
- /**
57
- * @en Removes all registered interceptors.
58
- * @ru Очищает все зарегистрированные перехватчики.
59
- */
60
- clear(): void;
61
- }
62
- //# sourceMappingURL=InterceptorManager.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InterceptorManager = void 0;
4
- /**
5
- * @class InterceptorManager
6
- * @en Manages registration and sequential execution of request and response interceptors.
7
- * @ru Управляет регистрацией и последовательным выполнением перехватчиков запроса и ответа.
8
- */
9
- class InterceptorManager {
10
- requestInterceptors = [];
11
- responseInterceptors = [];
12
- /**
13
- * @en Adds a request interceptor to the chain.
14
- * @ru Добавляет перехватчик запроса в цепочку.
15
- * @param interceptor Function that modifies request config before execution.
16
- */
17
- addRequest(interceptor) {
18
- this.requestInterceptors.push(interceptor);
19
- }
20
- /**
21
- * @en Adds a response interceptor to the chain.
22
- * @ru Добавляет перехватчик ответа в цепочку.
23
- * @param interceptor Function that modifies response after execution.
24
- */
25
- addResponse(interceptor) {
26
- this.responseInterceptors.push(interceptor);
27
- }
28
- /**
29
- * @en Sequentially applies all registered request interceptors.
30
- * @ru Последовательно применяет все перехватчики к конфигурации запроса.
31
- * @param config Initial request configuration.
32
- * @returns Modified request configuration after all interceptors.
33
- */
34
- async applyRequest(config) {
35
- let result = config;
36
- for (const interceptor of this.requestInterceptors) {
37
- result = await interceptor(result);
38
- }
39
- return result;
40
- }
41
- /**
42
- * @en Sequentially applies all registered response interceptors.
43
- * @ru Последовательно применяет все перехватчики к ответу.
44
- * @param response Raw HTTP response object.
45
- * @returns Modified response after all interceptors.
46
- */
47
- async applyResponse(response) {
48
- let result = response;
49
- for (const interceptor of this.responseInterceptors) {
50
- result = await interceptor(result);
51
- }
52
- return result;
53
- }
54
- /**
55
- * @en Removes all registered interceptors.
56
- * @ru Очищает все зарегистрированные перехватчики.
57
- */
58
- clear() {
59
- this.requestInterceptors = [];
60
- this.responseInterceptors = [];
61
- }
62
- }
63
- exports.InterceptorManager = InterceptorManager;
64
- //# sourceMappingURL=InterceptorManager.js.map
@@ -1 +0,0 @@
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,71 +0,0 @@
1
- import type { RequestMetrics } from "../../Types/metrics";
2
- import { MetricsOptions } from "../../Types/options";
3
- export declare class MetricsManager {
4
- private readonly history;
5
- private readonly hostStates;
6
- private readonly scopeDepth;
7
- private readonly failureThreshold;
8
- private readonly resetTimeout;
9
- private readonly slowRequestMs;
10
- private readonly weights;
11
- private _totalBytesAccumulator;
12
- constructor(config?: MetricsOptions);
13
- /**
14
- * @ru Извлекает scope (host + первый сегмент пути) для circuit breaker.
15
- * @en Extracts scope (host + first path segment) for circuit breaker.
16
- */
17
- private getScope;
18
- private getOrCreateState;
19
- /**
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.
27
- */
28
- record(metrics: RequestMetrics & {
29
- cacheHit?: boolean;
30
- }): void;
31
- /**
32
- * @ru Получает метрику по ключу.
33
- * @en Retrieves a metric entry by key.
34
- */
35
- get(key: string): RequestMetrics | undefined;
36
- /**
37
- * @ru Возвращает все метрики.
38
- * @en Returns all stored metrics.
39
- */
40
- getAll(): RequestMetrics[];
41
- /**
42
- * @ru Увеличивает счётчик полученных байтов.
43
- * @en Increments total received bytes counter.
44
- */
45
- recordBytes(bytes: number): void;
46
- /**
47
- * @ru Возвращает сводную статистику.
48
- * @en Returns performance summary statistics.
49
- */
50
- getSummary(): {
51
- totalRequests: number;
52
- successRate: number;
53
- avgDurationMs: number;
54
- totalBytesReceived: number;
55
- errorCount: number;
56
- maxDurationMs: number;
57
- p99DurationMs: number;
58
- openCircuits: number;
59
- } | null;
60
- /**
61
- * @ru Очищает историю и состояния circuit breaker.
62
- * @en Clears metrics history and circuit breaker states.
63
- */
64
- clear(): void;
65
- private storeMetrics;
66
- private updateCircuit;
67
- private getFailureWeight;
68
- private percentile;
69
- private getOpenCircuitCount;
70
- }
71
- //# sourceMappingURL=MetricsManager.d.ts.map
@@ -1 +0,0 @@
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;IA0B5C;;;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"}
@@ -1,246 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MetricsManager = void 0;
4
- const lru_cache_1 = require("lru-cache");
5
- class MetricsManager {
6
- history;
7
- hostStates = new Map();
8
- scopeDepth;
9
- failureThreshold;
10
- resetTimeout;
11
- slowRequestMs;
12
- weights;
13
- _totalBytesAccumulator = 0;
14
- constructor(config) {
15
- this.history = new lru_cache_1.LRUCache({
16
- max: config?.maxHistory ?? 1000,
17
- ttl: config?.ttl ?? 1000 * 60 * 60,
18
- ttlAutopurge: true,
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
- };
31
- }
32
- /**
33
- * @ru Извлекает scope (host + первый сегмент пути) для circuit breaker.
34
- * @en Extracts scope (host + first path segment) for circuit breaker.
35
- */
36
- getScope(url) {
37
- try {
38
- const u = new URL(url);
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;
42
- }
43
- catch {
44
- return "unknown";
45
- }
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
- }
62
- /**
63
- * @ru Проверяет, открыт ли circuit breaker для URL.
64
- * @en Checks whether the circuit breaker is open for a URL.
65
- */
66
- isCircuitOpen(url) {
67
- const scope = this.getScope(url);
68
- const state = this.getOrCreateState(scope);
69
- if (state.state === "CLOSED") {
70
- return false;
71
- }
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();
80
- }
81
- if (state.state === "HALF_OPEN") {
82
- if (state.probeInFlight) {
83
- return true;
84
- }
85
- state.probeInFlight = true;
86
- return false;
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);
97
- }
98
- /**
99
- * @ru Получает метрику по ключу.
100
- * @en Retrieves a metric entry by key.
101
- */
102
- get(key) {
103
- const exact = this.history.get(key);
104
- if (exact) {
105
- return exact;
106
- }
107
- let latest;
108
- let latestTs = -1;
109
- for (const [entryKey, metric] of this.history.entries()) {
110
- if (metric.url !== key) {
111
- continue;
112
- }
113
- const idx = entryKey.lastIndexOf(":");
114
- const ts = idx >= 0 ? Number(entryKey.slice(idx + 1)) : 0;
115
- if (ts >= latestTs) {
116
- latestTs = ts;
117
- latest = metric;
118
- }
119
- }
120
- return latest;
121
- }
122
- /**
123
- * @ru Возвращает все метрики.
124
- * @en Returns all stored metrics.
125
- */
126
- getAll() {
127
- return Array.from(this.history.values());
128
- }
129
- /**
130
- * @ru Увеличивает счётчик полученных байтов.
131
- * @en Increments total received bytes counter.
132
- */
133
- recordBytes(bytes) {
134
- this._totalBytesAccumulator += Math.max(0, bytes);
135
- }
136
- /**
137
- * @ru Возвращает сводную статистику.
138
- * @en Returns performance summary statistics.
139
- */
140
- getSummary() {
141
- const all = this.getAll();
142
- const total = all.length;
143
- if (total === 0)
144
- return null;
145
- let successful = 0;
146
- let totalDuration = 0;
147
- let maxDur = 0;
148
- for (const m of all) {
149
- if ((m.statusCode ?? 0) < 400 && (m.statusCode ?? 0) !== 0)
150
- successful++;
151
- totalDuration += m.duration;
152
- if (m.duration > maxDur)
153
- maxDur = m.duration;
154
- }
155
- const durations = all.map((m) => m.duration);
156
- const p99 = this.percentile(durations, 99);
157
- return {
158
- totalRequests: total,
159
- successRate: (successful / total) * 100,
160
- avgDurationMs: Math.round(totalDuration / total),
161
- totalBytesReceived: this._totalBytesAccumulator,
162
- errorCount: total - successful,
163
- maxDurationMs: maxDur,
164
- p99DurationMs: p99,
165
- openCircuits: this.getOpenCircuitCount(),
166
- };
167
- }
168
- /**
169
- * @ru Очищает историю и состояния circuit breaker.
170
- * @en Clears metrics history and circuit breaker states.
171
- */
172
- clear() {
173
- this.history.clear();
174
- this.hostStates.clear();
175
- this._totalBytesAccumulator = 0;
176
- }
177
- storeMetrics(metrics) {
178
- const key = `${metrics.method}:${metrics.url}:${Date.now()}`;
179
- this.history.set(key, metrics);
180
- }
181
- updateCircuit(metrics) {
182
- const scope = this.getScope(metrics.url);
183
- const state = this.getOrCreateState(scope);
184
- const failureWeight = this.getFailureWeight(metrics);
185
- if (failureWeight > 0) {
186
- state.failureScore += failureWeight;
187
- state.consecutiveFailures += 1;
188
- state.lastFailureTime = Date.now();
189
- if (state.state === "HALF_OPEN" ||
190
- state.failureScore >= this.failureThreshold) {
191
- state.state = "OPEN";
192
- state.probeInFlight = false;
193
- state.lastTransitionTime = Date.now();
194
- }
195
- return;
196
- }
197
- state.failureScore = 0;
198
- state.consecutiveFailures = 0;
199
- if (state.state === "HALF_OPEN" || state.state === "OPEN") {
200
- state.state = "CLOSED";
201
- state.probeInFlight = false;
202
- state.lastTransitionTime = Date.now();
203
- }
204
- }
205
- getFailureWeight(metrics) {
206
- const status = metrics.statusCode ?? 0;
207
- if (status === 0) {
208
- return this.weights.timeout;
209
- }
210
- if (status === 429) {
211
- return this.weights.rateLimit;
212
- }
213
- if (status >= 500) {
214
- return this.weights.serverError;
215
- }
216
- if (metrics.duration >= this.slowRequestMs) {
217
- return this.weights.slowRequest;
218
- }
219
- if (status >= 400) {
220
- return this.weights.other;
221
- }
222
- return 0;
223
- }
224
- percentile(arr, p) {
225
- if (arr.length === 0)
226
- return 0;
227
- const sorted = [...arr].sort((a, b) => a - b);
228
- const rank = (p / 100) * (sorted.length - 1);
229
- const low = Math.floor(rank);
230
- const high = Math.ceil(rank);
231
- if (low === high)
232
- return sorted[low];
233
- const weight = rank - low;
234
- return Math.round(sorted[low] * (1 - weight) + sorted[high] * weight);
235
- }
236
- getOpenCircuitCount() {
237
- let count = 0;
238
- for (const state of this.hostStates.values()) {
239
- if (state.state === "OPEN")
240
- count++;
241
- }
242
- return count;
243
- }
244
- }
245
- exports.MetricsManager = MetricsManager;
246
- //# sourceMappingURL=MetricsManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetricsManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/MetricsManager.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- export declare class QueueManager {
2
- private readonly maxConcurrent;
3
- private running;
4
- private queued;
5
- private head;
6
- private tail;
7
- constructor(maxConcurrent?: number);
8
- enqueue<T>(executor: () => Promise<T>): Promise<T>;
9
- private drain;
10
- clear(): void;
11
- get activeCount(): number;
12
- get queuedCount(): number;
13
- get pending(): number;
14
- get isIdle(): boolean;
15
- }
16
- //# sourceMappingURL=QueueManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueueManager.d.ts","sourceRoot":"","sources":["../../../src/Hyperttp/Core/QueueManager.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;IAMX,OAAO,CAAC,QAAQ,CAAC,aAAa;IAL1C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,IAAI,CAA0B;gBAET,aAAa,SAAK;IAE/C,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBlD,OAAO,CAAC,KAAK;IAsBb,KAAK,IAAI,IAAI;IAcb,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF"}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueueManager = void 0;
4
- class QueueManager {
5
- maxConcurrent;
6
- running = 0;
7
- queued = 0;
8
- head = null;
9
- tail = null;
10
- constructor(maxConcurrent = 50) {
11
- this.maxConcurrent = maxConcurrent;
12
- }
13
- enqueue(executor) {
14
- return new Promise((resolve, reject) => {
15
- const node = {
16
- executor,
17
- resolve: resolve,
18
- reject,
19
- next: null,
20
- };
21
- if (this.tail) {
22
- this.tail.next = node;
23
- }
24
- else {
25
- this.head = node;
26
- }
27
- this.tail = node;
28
- this.queued++;
29
- this.drain();
30
- });
31
- }
32
- drain() {
33
- while (this.running < this.maxConcurrent && this.head) {
34
- const task = this.head;
35
- this.head = task.next;
36
- if (!this.head) {
37
- this.tail = null;
38
- }
39
- this.queued--;
40
- this.running++;
41
- Promise.resolve()
42
- .then(task.executor)
43
- .then(task.resolve, task.reject)
44
- .finally(() => {
45
- this.running--;
46
- this.drain();
47
- });
48
- }
49
- }
50
- clear() {
51
- const error = new Error("Queue has been cleared");
52
- while (this.head) {
53
- const node = this.head;
54
- this.head = node.next;
55
- node.reject(error);
56
- }
57
- this.head = null;
58
- this.tail = null;
59
- this.queued = 0;
60
- }
61
- get activeCount() {
62
- return this.running;
63
- }
64
- get queuedCount() {
65
- return this.queued;
66
- }
67
- get pending() {
68
- return this.running + this.queued;
69
- }
70
- get isIdle() {
71
- return this.running === 0 && this.queued === 0;
72
- }
73
- }
74
- exports.QueueManager = QueueManager;
75
- //# sourceMappingURL=QueueManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueueManager.js","sourceRoot":"","sources":["../../../src/Hyperttp/Core/QueueManager.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IAMM;IALrB,OAAO,GAAG,CAAC,CAAC;IACZ,MAAM,GAAG,CAAC,CAAC;IACX,IAAI,GAAqB,IAAI,CAAC;IAC9B,IAAI,GAAqB,IAAI,CAAC;IAEtC,YAA6B,gBAAgB,EAAE;QAAlB,kBAAa,GAAb,aAAa,CAAK;IAAG,CAAC;IAEnD,OAAO,CAAI,QAA0B;QACnC,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,IAAI,GAAc;gBACtB,QAAQ;gBACR,OAAO,EAAE,OAAmC;gBAC5C,MAAM;gBACN,IAAI,EAAE,IAAI;aACX,CAAC;YAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK;QACX,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEtB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,EAAE,CAAC;YAEf,OAAO,CAAC,OAAO,EAAE;iBACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;iBAC/B,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IACjD,CAAC;CACF;AAhFD,oCAgFC"}