@tramvai/module-http-client 5.50.0 → 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.
@@ -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 { createUserAgent } from './createUserAgent.browser.js';
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
- // по умолчанию, на сервере, библиотека https://github.com/node-fetch/node-fetch
41
- // отправляет заголовок "User-Agent" вида "node-fetch".
42
- // для улучшения логов сервисов, в которые делают запросы tramvai приложения,
43
- // заменяем "User-Agent" на кастомный, содержащий название и версию приложения
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 (!isNil(forceDisabledCircuitBreaker)) {
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 { createUserAgent } from './createUserAgent.es.js';
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
- // по умолчанию, на сервере, библиотека https://github.com/node-fetch/node-fetch
41
- // отправляет заголовок "User-Agent" вида "node-fetch".
42
- // для улучшения логов сервисов, в которые делают запросы tramvai приложения,
43
- // заменяем "User-Agent" на кастомный, содержащий название и версию приложения
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 (!isNil(forceDisabledCircuitBreaker)) {
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 createUserAgent = require('./createUserAgent.js');
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
- // по умолчанию, на сервере, библиотека https://github.com/node-fetch/node-fetch
50
- // отправляет заголовок "User-Agent" вида "node-fetch".
51
- // для улучшения логов сервисов, в которые делают запросы tramvai приложения,
52
- // заменяем "User-Agent" на кастомный, содержащий название и версию приложения
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 (!isNil__default["default"](forceDisabledCircuitBreaker)) {
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 || []);
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/module-http-client",
3
- "version": "5.50.0",
3
+ "version": "6.59.0",
4
4
  "initialVersion": "0.58.99",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
@@ -25,12 +25,12 @@
25
25
  "watch": "tsc -w"
26
26
  },
27
27
  "dependencies": {
28
- "@tramvai/http-client": "0.5.4",
29
- "@tramvai/tinkoff-request-http-client-adapter": "0.12.116",
30
- "@tramvai/tokens-common": "5.50.0",
31
- "@tramvai/tokens-http-client": "5.50.0",
32
- "@tramvai/tokens-server": "5.50.0",
33
- "@tramvai/tokens-server-private": "5.50.0"
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.11.4",
41
+ "@tinkoff/dippy": "0.12.3",
42
42
  "@tinkoff/utils": "^2.1.2",
43
- "@tramvai/core": "5.50.0",
44
- "@tramvai/module-common": "5.50.0",
45
- "@tramvai/papi": "5.50.0",
46
- "@tramvai/test-helpers": "5.50.0",
47
- "@tramvai/test-mocks": "5.50.0",
48
- "@tramvai/test-unit": "5.50.0",
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
- // по умолчанию, на сервере, библиотека https://github.com/node-fetch/node-fetch
120
- // отправляет заголовок "User-Agent" вида "node-fetch".
121
- // для улучшения логов сервисов, в которые делают запросы tramvai приложения,
122
- // заменяем "User-Agent" на кастомный, содержащий название и версию приложения
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 (!isNil__default["default"](forceDisabledCircuitBreaker)) {
146
+ if (forceDisabledCircuitBreaker === 'true') {
137
147
  adapterOptions.enableCircuitBreaker = !forceDisabledCircuitBreaker;
138
148
  }
139
149
  // cache @tinkoff/request instance for performance reason