@tramvai/module-http-client 5.49.1 → 6.59.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/headers.browser.js +19 -0
- package/lib/httpClient/headers.d.ts +17 -0
- package/lib/httpClient/headers.es.js +19 -0
- package/lib/httpClient/headers.js +23 -0
- package/lib/httpClient/httpClientFactory.browser.js +6 -12
- package/lib/httpClient/httpClientFactory.es.js +6 -12
- package/lib/httpClient/httpClientFactory.js +6 -12
- package/lib/papi/papiService.es.js +2 -0
- package/lib/papi/papiService.js +2 -0
- package/package.json +16 -16
- package/tests.js +21 -11
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createUserAgent } from './createUserAgent.browser.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `node-fetch` sends "User-Agent: node-fetch" header
|
|
5
|
+
* on the server by default. For logging purpose, we are
|
|
6
|
+
* replacing "User-Agent" value with custom one, containing
|
|
7
|
+
* both application name and version.
|
|
8
|
+
*
|
|
9
|
+
* @param appInfo
|
|
10
|
+
* @param envManager
|
|
11
|
+
*/
|
|
12
|
+
const transformUserAgent = ({ appInfo, envManager, }) => {
|
|
13
|
+
if (typeof window === 'undefined') {
|
|
14
|
+
return { 'User-Agent': createUserAgent({ appInfo, envManager }) };
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { transformUserAgent };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ExtractDependencyType } from '@tinkoff/dippy';
|
|
2
|
+
import type { ENV_MANAGER_TOKEN } from '@tramvai/tokens-common';
|
|
3
|
+
import type { APP_INFO_TOKEN } from '@tramvai/tokens-core';
|
|
4
|
+
/**
|
|
5
|
+
* `node-fetch` sends "User-Agent: node-fetch" header
|
|
6
|
+
* on the server by default. For logging purpose, we are
|
|
7
|
+
* replacing "User-Agent" value with custom one, containing
|
|
8
|
+
* both application name and version.
|
|
9
|
+
*
|
|
10
|
+
* @param appInfo
|
|
11
|
+
* @param envManager
|
|
12
|
+
*/
|
|
13
|
+
export declare const transformUserAgent: ({ appInfo, envManager, }: {
|
|
14
|
+
appInfo: ExtractDependencyType<typeof APP_INFO_TOKEN>;
|
|
15
|
+
envManager: ExtractDependencyType<typeof ENV_MANAGER_TOKEN>;
|
|
16
|
+
}) => Record<string, string> | undefined;
|
|
17
|
+
//# sourceMappingURL=headers.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createUserAgent } from './createUserAgent.es.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `node-fetch` sends "User-Agent: node-fetch" header
|
|
5
|
+
* on the server by default. For logging purpose, we are
|
|
6
|
+
* replacing "User-Agent" value with custom one, containing
|
|
7
|
+
* both application name and version.
|
|
8
|
+
*
|
|
9
|
+
* @param appInfo
|
|
10
|
+
* @param envManager
|
|
11
|
+
*/
|
|
12
|
+
const transformUserAgent = ({ appInfo, envManager, }) => {
|
|
13
|
+
if (typeof window === 'undefined') {
|
|
14
|
+
return { 'User-Agent': createUserAgent({ appInfo, envManager }) };
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { transformUserAgent };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var createUserAgent = require('./createUserAgent.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* `node-fetch` sends "User-Agent: node-fetch" header
|
|
9
|
+
* on the server by default. For logging purpose, we are
|
|
10
|
+
* replacing "User-Agent" value with custom one, containing
|
|
11
|
+
* both application name and version.
|
|
12
|
+
*
|
|
13
|
+
* @param appInfo
|
|
14
|
+
* @param envManager
|
|
15
|
+
*/
|
|
16
|
+
const transformUserAgent = ({ appInfo, envManager, }) => {
|
|
17
|
+
if (typeof window === 'undefined') {
|
|
18
|
+
return { 'User-Agent': createUserAgent.createUserAgent({ appInfo, envManager }) };
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.transformUserAgent = transformUserAgent;
|
|
@@ -2,7 +2,7 @@ import isNil from '@tinkoff/utils/is/nil';
|
|
|
2
2
|
import compose from '@tinkoff/utils/function/compose';
|
|
3
3
|
import { mergeOptions, createTinkoffRequest, HttpClientAdapter } from '@tramvai/tinkoff-request-http-client-adapter';
|
|
4
4
|
import { fillHeaderIp, fillHeaders } from '../utils/fillHeaders.browser.browser.js';
|
|
5
|
-
import {
|
|
5
|
+
import { transformUserAgent } from './headers.browser.js';
|
|
6
6
|
|
|
7
7
|
const environmentDependentOptions = typeof window === 'undefined'
|
|
8
8
|
? {
|
|
@@ -37,16 +37,10 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
|
|
|
37
37
|
signal: commandLineExecutionContext?.()?.abortSignal,
|
|
38
38
|
...environmentDependentOptions,
|
|
39
39
|
}, defaultOptions ? mergeOptions(defaultOptions, interceptors) : interceptors), options);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (typeof window === 'undefined') {
|
|
45
|
-
adapterOptions.headers = {
|
|
46
|
-
'User-Agent': createUserAgent({ appInfo, envManager }),
|
|
47
|
-
...adapterOptions.headers,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
40
|
+
adapterOptions.headers = {
|
|
41
|
+
...transformUserAgent({ appInfo, envManager }),
|
|
42
|
+
...adapterOptions.headers,
|
|
43
|
+
};
|
|
50
44
|
if (!isNil(forceDisableCache)) {
|
|
51
45
|
adapterOptions.disableCache = !!forceDisableCache;
|
|
52
46
|
}
|
|
@@ -54,7 +48,7 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
|
|
|
54
48
|
adapterOptions.enableCircuitBreaker = false;
|
|
55
49
|
}
|
|
56
50
|
// environment variable in priority over disableCircuitBreaker
|
|
57
|
-
if (
|
|
51
|
+
if (forceDisabledCircuitBreaker === 'true') {
|
|
58
52
|
adapterOptions.enableCircuitBreaker = !forceDisabledCircuitBreaker;
|
|
59
53
|
}
|
|
60
54
|
// cache @tinkoff/request instance for performance reason
|
|
@@ -2,7 +2,7 @@ import isNil from '@tinkoff/utils/is/nil';
|
|
|
2
2
|
import compose from '@tinkoff/utils/function/compose';
|
|
3
3
|
import { mergeOptions, createTinkoffRequest, HttpClientAdapter } from '@tramvai/tinkoff-request-http-client-adapter';
|
|
4
4
|
import { fillHeaderIp, fillHeaders } from '../utils/fillHeaders.es.js';
|
|
5
|
-
import {
|
|
5
|
+
import { transformUserAgent } from './headers.es.js';
|
|
6
6
|
|
|
7
7
|
const environmentDependentOptions = typeof window === 'undefined'
|
|
8
8
|
? {
|
|
@@ -37,16 +37,10 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
|
|
|
37
37
|
signal: commandLineExecutionContext?.()?.abortSignal,
|
|
38
38
|
...environmentDependentOptions,
|
|
39
39
|
}, defaultOptions ? mergeOptions(defaultOptions, interceptors) : interceptors), options);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (typeof window === 'undefined') {
|
|
45
|
-
adapterOptions.headers = {
|
|
46
|
-
'User-Agent': createUserAgent({ appInfo, envManager }),
|
|
47
|
-
...adapterOptions.headers,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
40
|
+
adapterOptions.headers = {
|
|
41
|
+
...transformUserAgent({ appInfo, envManager }),
|
|
42
|
+
...adapterOptions.headers,
|
|
43
|
+
};
|
|
50
44
|
if (!isNil(forceDisableCache)) {
|
|
51
45
|
adapterOptions.disableCache = !!forceDisableCache;
|
|
52
46
|
}
|
|
@@ -54,7 +48,7 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
|
|
|
54
48
|
adapterOptions.enableCircuitBreaker = false;
|
|
55
49
|
}
|
|
56
50
|
// environment variable in priority over disableCircuitBreaker
|
|
57
|
-
if (
|
|
51
|
+
if (forceDisabledCircuitBreaker === 'true') {
|
|
58
52
|
adapterOptions.enableCircuitBreaker = !forceDisabledCircuitBreaker;
|
|
59
53
|
}
|
|
60
54
|
// cache @tinkoff/request instance for performance reason
|
|
@@ -6,7 +6,7 @@ var isNil = require('@tinkoff/utils/is/nil');
|
|
|
6
6
|
var compose = require('@tinkoff/utils/function/compose');
|
|
7
7
|
var tinkoffRequestHttpClientAdapter = require('@tramvai/tinkoff-request-http-client-adapter');
|
|
8
8
|
var fillHeaders = require('../utils/fillHeaders.js');
|
|
9
|
-
var
|
|
9
|
+
var headers = require('./headers.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
12
|
|
|
@@ -46,16 +46,10 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
|
|
|
46
46
|
signal: commandLineExecutionContext?.()?.abortSignal,
|
|
47
47
|
...environmentDependentOptions,
|
|
48
48
|
}, defaultOptions ? tinkoffRequestHttpClientAdapter.mergeOptions(defaultOptions, interceptors) : interceptors), options);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (typeof window === 'undefined') {
|
|
54
|
-
adapterOptions.headers = {
|
|
55
|
-
'User-Agent': createUserAgent.createUserAgent({ appInfo, envManager }),
|
|
56
|
-
...adapterOptions.headers,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
49
|
+
adapterOptions.headers = {
|
|
50
|
+
...headers.transformUserAgent({ appInfo, envManager }),
|
|
51
|
+
...adapterOptions.headers,
|
|
52
|
+
};
|
|
59
53
|
if (!isNil__default["default"](forceDisableCache)) {
|
|
60
54
|
adapterOptions.disableCache = !!forceDisableCache;
|
|
61
55
|
}
|
|
@@ -63,7 +57,7 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
|
|
|
63
57
|
adapterOptions.enableCircuitBreaker = false;
|
|
64
58
|
}
|
|
65
59
|
// environment variable in priority over disableCircuitBreaker
|
|
66
|
-
if (
|
|
60
|
+
if (forceDisabledCircuitBreaker === 'true') {
|
|
67
61
|
adapterOptions.enableCircuitBreaker = !forceDisabledCircuitBreaker;
|
|
68
62
|
}
|
|
69
63
|
// cache @tinkoff/request instance for performance reason
|
|
@@ -10,6 +10,8 @@ import { comparePathWithPattern } from '../utils/comparePathWithPattern.es.js';
|
|
|
10
10
|
import { getPathParams } from '../utils/getPathParams.es.js';
|
|
11
11
|
|
|
12
12
|
class PapiService extends BaseHttpClient {
|
|
13
|
+
papi;
|
|
14
|
+
di;
|
|
13
15
|
constructor({ papi, di }) {
|
|
14
16
|
super();
|
|
15
17
|
this.papi = flatten(papi || []);
|
package/lib/papi/papiService.js
CHANGED
|
@@ -19,6 +19,8 @@ var find__default = /*#__PURE__*/_interopDefaultLegacy(find);
|
|
|
19
19
|
var flatten__default = /*#__PURE__*/_interopDefaultLegacy(flatten);
|
|
20
20
|
|
|
21
21
|
class PapiService extends httpClient.BaseHttpClient {
|
|
22
|
+
papi;
|
|
23
|
+
di;
|
|
22
24
|
constructor({ papi, di }) {
|
|
23
25
|
super();
|
|
24
26
|
this.papi = flatten__default["default"](papi || []);
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/module-http-client",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.59.0",
|
|
4
4
|
"initialVersion": "0.58.99",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"typings": "lib/index.d.ts",
|
|
8
8
|
"browser": {
|
|
9
|
+
"./lib/index.es.js": "./lib/index.browser.js",
|
|
9
10
|
"./lib/papiClientModule.js": "./lib/papiClientModule.browser.js",
|
|
10
|
-
"./lib/utils/fillHeaders.js": "./lib/utils/fillHeaders.browser.js"
|
|
11
|
-
"./lib/index.es.js": "./lib/index.browser.js"
|
|
11
|
+
"./lib/utils/fillHeaders.js": "./lib/utils/fillHeaders.browser.js"
|
|
12
12
|
},
|
|
13
13
|
"files": [
|
|
14
14
|
"lib",
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
"watch": "tsc -w"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@tramvai/http-client": "0.
|
|
29
|
-
"@tramvai/tinkoff-request-http-client-adapter": "0.
|
|
30
|
-
"@tramvai/tokens-
|
|
31
|
-
"@tramvai/tokens-
|
|
32
|
-
"@tramvai/tokens-server": "
|
|
33
|
-
"@tramvai/tokens-server-private": "
|
|
28
|
+
"@tramvai/http-client": "0.6.0",
|
|
29
|
+
"@tramvai/tinkoff-request-http-client-adapter": "0.13.102",
|
|
30
|
+
"@tramvai/tokens-common": "6.59.0",
|
|
31
|
+
"@tramvai/tokens-http-client": "6.59.0",
|
|
32
|
+
"@tramvai/tokens-server": "6.59.0",
|
|
33
|
+
"@tramvai/tokens-server-private": "6.59.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@tinkoff/request-core": "^0.10.0",
|
|
@@ -38,14 +38,14 @@
|
|
|
38
38
|
"@types/node-fetch": "^2.6.2"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
+
"@tinkoff/dippy": "0.12.3",
|
|
41
42
|
"@tinkoff/utils": "^2.1.2",
|
|
42
|
-
"@tramvai/core": "
|
|
43
|
-
"@tramvai/module-common": "
|
|
44
|
-
"@tramvai/papi": "
|
|
45
|
-
"@tramvai/test-helpers": "
|
|
46
|
-
"@tramvai/test-
|
|
47
|
-
"@tramvai/test-
|
|
48
|
-
"@tinkoff/dippy": "0.11.4",
|
|
43
|
+
"@tramvai/core": "6.59.0",
|
|
44
|
+
"@tramvai/module-common": "6.59.0",
|
|
45
|
+
"@tramvai/papi": "6.59.0",
|
|
46
|
+
"@tramvai/test-helpers": "6.59.0",
|
|
47
|
+
"@tramvai/test-mocks": "6.59.0",
|
|
48
|
+
"@tramvai/test-unit": "6.59.0",
|
|
49
49
|
"node-fetch": "^2.6.1",
|
|
50
50
|
"tslib": "^2.4.0"
|
|
51
51
|
},
|
package/tests.js
CHANGED
|
@@ -83,6 +83,22 @@ const createUserAgent = ({ appInfo, envManager, }) => {
|
|
|
83
83
|
return userAgent;
|
|
84
84
|
};
|
|
85
85
|
|
|
86
|
+
/**
|
|
87
|
+
* `node-fetch` sends "User-Agent: node-fetch" header
|
|
88
|
+
* on the server by default. For logging purpose, we are
|
|
89
|
+
* replacing "User-Agent" value with custom one, containing
|
|
90
|
+
* both application name and version.
|
|
91
|
+
*
|
|
92
|
+
* @param appInfo
|
|
93
|
+
* @param envManager
|
|
94
|
+
*/
|
|
95
|
+
const transformUserAgent = ({ appInfo, envManager, }) => {
|
|
96
|
+
if (typeof window === 'undefined') {
|
|
97
|
+
return { 'User-Agent': createUserAgent({ appInfo, envManager }) };
|
|
98
|
+
}
|
|
99
|
+
return undefined;
|
|
100
|
+
};
|
|
101
|
+
|
|
86
102
|
const environmentDependentOptions = typeof window === 'undefined'
|
|
87
103
|
? {
|
|
88
104
|
defaultTimeout: 2000,
|
|
@@ -116,16 +132,10 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
|
|
|
116
132
|
signal: commandLineExecutionContext?.()?.abortSignal,
|
|
117
133
|
...environmentDependentOptions,
|
|
118
134
|
}, defaultOptions ? tinkoffRequestHttpClientAdapter.mergeOptions(defaultOptions, interceptors) : interceptors), options);
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
if (typeof window === 'undefined') {
|
|
124
|
-
adapterOptions.headers = {
|
|
125
|
-
'User-Agent': createUserAgent({ appInfo, envManager }),
|
|
126
|
-
...adapterOptions.headers,
|
|
127
|
-
};
|
|
128
|
-
}
|
|
135
|
+
adapterOptions.headers = {
|
|
136
|
+
...transformUserAgent({ appInfo, envManager }),
|
|
137
|
+
...adapterOptions.headers,
|
|
138
|
+
};
|
|
129
139
|
if (!isNil__default["default"](forceDisableCache)) {
|
|
130
140
|
adapterOptions.disableCache = !!forceDisableCache;
|
|
131
141
|
}
|
|
@@ -133,7 +143,7 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
|
|
|
133
143
|
adapterOptions.enableCircuitBreaker = false;
|
|
134
144
|
}
|
|
135
145
|
// environment variable in priority over disableCircuitBreaker
|
|
136
|
-
if (
|
|
146
|
+
if (forceDisabledCircuitBreaker === 'true') {
|
|
137
147
|
adapterOptions.enableCircuitBreaker = !forceDisabledCircuitBreaker;
|
|
138
148
|
}
|
|
139
149
|
// cache @tinkoff/request instance for performance reason
|