@tramvai/module-http-client 1.78.3 → 1.79.0
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.
- package/lib/httpClient/httpClientFactory.d.ts +3 -2
- package/lib/index.browser.js +10 -2
- package/lib/index.es.js +10 -2
- package/lib/index.js +9 -1
- package/package.json +10 -10
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { MakeRequest } from '@tinkoff/request-core';
|
|
2
2
|
import type { APP_INFO_TOKEN } from '@tramvai/core';
|
|
3
|
-
import type { API_CLIENT_PASS_HEADERS, HTTP_CLIENT_AGENT, HTTP_CLIENT_FACTORY } from '@tramvai/tokens-http-client';
|
|
3
|
+
import type { API_CLIENT_PASS_HEADERS, HTTP_CLIENT_AGENT, HTTP_CLIENT_FACTORY, DISABLE_CIRCUIT_BREAKER } from '@tramvai/tokens-http-client';
|
|
4
4
|
import type { LOGGER_TOKEN, CREATE_CACHE_TOKEN, ENV_MANAGER_TOKEN, REQUEST_MANAGER_TOKEN } from '@tramvai/tokens-common';
|
|
5
|
-
export declare const httpClientFactory: ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, }: {
|
|
5
|
+
export declare const httpClientFactory: ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, disableCircuitBreaker, }: {
|
|
6
6
|
logger: typeof LOGGER_TOKEN;
|
|
7
7
|
envManager: typeof ENV_MANAGER_TOKEN;
|
|
8
8
|
appInfo: typeof APP_INFO_TOKEN;
|
|
@@ -11,4 +11,5 @@ export declare const httpClientFactory: ({ logger, envManager, appInfo, requestM
|
|
|
11
11
|
createCache?: typeof CREATE_CACHE_TOKEN;
|
|
12
12
|
tinkoffRequestRegistry: Map<string, MakeRequest>;
|
|
13
13
|
agent?: typeof HTTP_CLIENT_AGENT;
|
|
14
|
+
disableCircuitBreaker: typeof DISABLE_CIRCUIT_BREAKER;
|
|
14
15
|
}) => typeof HTTP_CLIENT_FACTORY;
|
package/lib/index.browser.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import { createToken } from '@tinkoff/dippy';
|
|
3
3
|
import { Module, provide, Scope, APP_INFO_TOKEN } from '@tramvai/core';
|
|
4
|
-
import { PAPI_SERVICE, HTTP_CLIENT_FACTORY, API_CLIENT_PASS_HEADERS, HTTP_CLIENT_AGENT, HTTP_CLIENT } from '@tramvai/tokens-http-client';
|
|
4
|
+
import { PAPI_SERVICE, HTTP_CLIENT_FACTORY, API_CLIENT_PASS_HEADERS, HTTP_CLIENT_AGENT, DISABLE_CIRCUIT_BREAKER, HTTP_CLIENT } from '@tramvai/tokens-http-client';
|
|
5
5
|
export * from '@tramvai/tokens-http-client';
|
|
6
6
|
import { LOGGER_TOKEN, ENV_MANAGER_TOKEN, REQUEST_MANAGER_TOKEN, ENV_USED_TOKEN, CREATE_CACHE_TOKEN } from '@tramvai/tokens-common';
|
|
7
7
|
import isNil from '@tinkoff/utils/is/nil';
|
|
@@ -56,7 +56,7 @@ const environmentDependentOptions = typeof window === 'undefined'
|
|
|
56
56
|
: {
|
|
57
57
|
defaultTimeout: 30000,
|
|
58
58
|
};
|
|
59
|
-
const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, }) => {
|
|
59
|
+
const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, disableCircuitBreaker = false, }) => {
|
|
60
60
|
return (options) => {
|
|
61
61
|
if (!options.name) {
|
|
62
62
|
throw Error(`Необходимо передать уникальное поле "name" для экземпляра HTTP клиента!`);
|
|
@@ -91,6 +91,10 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
|
|
|
91
91
|
if (!isNil(forceDisableCache)) {
|
|
92
92
|
adapterOptions.disableCache = !!forceDisableCache;
|
|
93
93
|
}
|
|
94
|
+
if (disableCircuitBreaker) {
|
|
95
|
+
adapterOptions.enableCircuitBreaker = false;
|
|
96
|
+
}
|
|
97
|
+
// environment variable in priority over disableCircuitBreaker
|
|
94
98
|
if (!isNil(forceDisabledCircuitBreaker)) {
|
|
95
99
|
adapterOptions.enableCircuitBreaker = !forceDisabledCircuitBreaker;
|
|
96
100
|
}
|
|
@@ -175,6 +179,10 @@ HttpClientModule = __decorate([
|
|
|
175
179
|
token: HTTP_CLIENT_AGENT,
|
|
176
180
|
optional: true,
|
|
177
181
|
},
|
|
182
|
+
disableCircuitBreaker: {
|
|
183
|
+
token: DISABLE_CIRCUIT_BREAKER,
|
|
184
|
+
optional: true,
|
|
185
|
+
},
|
|
178
186
|
},
|
|
179
187
|
}),
|
|
180
188
|
provide({
|
package/lib/index.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import { createChildContainer, createToken } from '@tinkoff/dippy';
|
|
3
3
|
import { Module, provide, Scope, DI_TOKEN, APP_INFO_TOKEN } from '@tramvai/core';
|
|
4
|
-
import { PAPI_SERVICE, HTTP_CLIENT_FACTORY, API_CLIENT_PASS_HEADERS, HTTP_CLIENT_AGENT, HTTP_CLIENT } from '@tramvai/tokens-http-client';
|
|
4
|
+
import { PAPI_SERVICE, HTTP_CLIENT_FACTORY, API_CLIENT_PASS_HEADERS, HTTP_CLIENT_AGENT, DISABLE_CIRCUIT_BREAKER, HTTP_CLIENT } from '@tramvai/tokens-http-client';
|
|
5
5
|
export * from '@tramvai/tokens-http-client';
|
|
6
6
|
import { LOGGER_TOKEN, ENV_MANAGER_TOKEN, REQUEST_MANAGER_TOKEN, ENV_USED_TOKEN, CREATE_CACHE_TOKEN } from '@tramvai/tokens-common';
|
|
7
7
|
import isNil from '@tinkoff/utils/is/nil';
|
|
@@ -86,7 +86,7 @@ const environmentDependentOptions = typeof window === 'undefined'
|
|
|
86
86
|
: {
|
|
87
87
|
defaultTimeout: 30000,
|
|
88
88
|
};
|
|
89
|
-
const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, }) => {
|
|
89
|
+
const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, disableCircuitBreaker = false, }) => {
|
|
90
90
|
return (options) => {
|
|
91
91
|
if (!options.name) {
|
|
92
92
|
throw Error(`Необходимо передать уникальное поле "name" для экземпляра HTTP клиента!`);
|
|
@@ -121,6 +121,10 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
|
|
|
121
121
|
if (!isNil(forceDisableCache)) {
|
|
122
122
|
adapterOptions.disableCache = !!forceDisableCache;
|
|
123
123
|
}
|
|
124
|
+
if (disableCircuitBreaker) {
|
|
125
|
+
adapterOptions.enableCircuitBreaker = false;
|
|
126
|
+
}
|
|
127
|
+
// environment variable in priority over disableCircuitBreaker
|
|
124
128
|
if (!isNil(forceDisabledCircuitBreaker)) {
|
|
125
129
|
adapterOptions.enableCircuitBreaker = !forceDisabledCircuitBreaker;
|
|
126
130
|
}
|
|
@@ -222,6 +226,10 @@ HttpClientModule = __decorate([
|
|
|
222
226
|
token: HTTP_CLIENT_AGENT,
|
|
223
227
|
optional: true,
|
|
224
228
|
},
|
|
229
|
+
disableCircuitBreaker: {
|
|
230
|
+
token: DISABLE_CIRCUIT_BREAKER,
|
|
231
|
+
optional: true,
|
|
232
|
+
},
|
|
225
233
|
},
|
|
226
234
|
}),
|
|
227
235
|
provide({
|
package/lib/index.js
CHANGED
|
@@ -97,7 +97,7 @@ const environmentDependentOptions = typeof window === 'undefined'
|
|
|
97
97
|
: {
|
|
98
98
|
defaultTimeout: 30000,
|
|
99
99
|
};
|
|
100
|
-
const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, }) => {
|
|
100
|
+
const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, disableCircuitBreaker = false, }) => {
|
|
101
101
|
return (options) => {
|
|
102
102
|
if (!options.name) {
|
|
103
103
|
throw Error(`Необходимо передать уникальное поле "name" для экземпляра HTTP клиента!`);
|
|
@@ -132,6 +132,10 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
|
|
|
132
132
|
if (!isNil__default["default"](forceDisableCache)) {
|
|
133
133
|
adapterOptions.disableCache = !!forceDisableCache;
|
|
134
134
|
}
|
|
135
|
+
if (disableCircuitBreaker) {
|
|
136
|
+
adapterOptions.enableCircuitBreaker = false;
|
|
137
|
+
}
|
|
138
|
+
// environment variable in priority over disableCircuitBreaker
|
|
135
139
|
if (!isNil__default["default"](forceDisabledCircuitBreaker)) {
|
|
136
140
|
adapterOptions.enableCircuitBreaker = !forceDisabledCircuitBreaker;
|
|
137
141
|
}
|
|
@@ -233,6 +237,10 @@ exports.HttpClientModule = tslib.__decorate([
|
|
|
233
237
|
token: tokensHttpClient.HTTP_CLIENT_AGENT,
|
|
234
238
|
optional: true,
|
|
235
239
|
},
|
|
240
|
+
disableCircuitBreaker: {
|
|
241
|
+
token: tokensHttpClient.DISABLE_CIRCUIT_BREAKER,
|
|
242
|
+
optional: true,
|
|
243
|
+
},
|
|
236
244
|
},
|
|
237
245
|
}),
|
|
238
246
|
core.provide({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/module-http-client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.79.0",
|
|
4
4
|
"initialVersion": "0.58.99",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -25,21 +25,21 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@tramvai/http-client": "0.1.25",
|
|
28
|
-
"@tramvai/tinkoff-request-http-client-adapter": "0.8.
|
|
29
|
-
"@tramvai/tokens-http-client": "1.
|
|
30
|
-
"@tramvai/tokens-common": "1.
|
|
31
|
-
"@tramvai/tokens-server": "1.
|
|
28
|
+
"@tramvai/tinkoff-request-http-client-adapter": "0.8.287",
|
|
29
|
+
"@tramvai/tokens-http-client": "1.79.0",
|
|
30
|
+
"@tramvai/tokens-common": "1.79.0",
|
|
31
|
+
"@tramvai/tokens-server": "1.79.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@tinkoff/request-core": "^0.8.9"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"@tinkoff/utils": "^2.1.2",
|
|
38
|
-
"@tramvai/core": "1.
|
|
39
|
-
"@tramvai/module-common": "1.
|
|
40
|
-
"@tramvai/papi": "1.
|
|
41
|
-
"@tramvai/test-helpers": "1.
|
|
42
|
-
"@tramvai/test-mocks": "1.
|
|
38
|
+
"@tramvai/core": "1.79.0",
|
|
39
|
+
"@tramvai/module-common": "1.79.0",
|
|
40
|
+
"@tramvai/papi": "1.79.0",
|
|
41
|
+
"@tramvai/test-helpers": "1.79.0",
|
|
42
|
+
"@tramvai/test-mocks": "1.79.0",
|
|
43
43
|
"@tinkoff/dippy": "0.7.39",
|
|
44
44
|
"node-fetch": "^2.6.1",
|
|
45
45
|
"tslib": "^2.0.3"
|