@tramvai/module-http-client 1.39.0 → 1.44.4

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.
@@ -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_FACTORY } from '@tramvai/tokens-http-client';
3
+ import type { API_CLIENT_PASS_HEADERS, HTTP_CLIENT_AGENT, HTTP_CLIENT_FACTORY } 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, }: {
5
+ export declare const httpClientFactory: ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, }: {
6
6
  logger: typeof LOGGER_TOKEN;
7
7
  envManager: typeof ENV_MANAGER_TOKEN;
8
8
  appInfo: typeof APP_INFO_TOKEN;
@@ -10,4 +10,5 @@ export declare const httpClientFactory: ({ logger, envManager, appInfo, requestM
10
10
  headersList?: typeof API_CLIENT_PASS_HEADERS;
11
11
  createCache?: typeof CREATE_CACHE_TOKEN;
12
12
  tinkoffRequestRegistry: Map<string, MakeRequest>;
13
+ agent?: typeof HTTP_CLIENT_AGENT;
13
14
  }) => typeof HTTP_CLIENT_FACTORY;
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from 'tslib';
2
- import { createToken, createChildContainer } from '@tinkoff/dippy';
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 } from '@tramvai/tokens-http-client';
4
+ import { PAPI_SERVICE, HTTP_CLIENT_FACTORY, API_CLIENT_PASS_HEADERS, HTTP_CLIENT_AGENT, HTTP_CLIENT } from '@tramvai/tokens-http-client';
5
5
  import { LOGGER_TOKEN, ENV_MANAGER_TOKEN, REQUEST_MANAGER_TOKEN, ENV_USED_TOKEN, CREATE_CACHE_TOKEN } from '@tramvai/tokens-common';
6
6
  import isNil from '@tinkoff/utils/is/nil';
7
7
  import omit from '@tinkoff/utils/object/omit';
@@ -10,10 +10,6 @@ import { mergeOptions, createTinkoffRequest, HttpClientAdapter } from '@tramvai/
10
10
  import { SERVER_MODULE_PAPI_PUBLIC_URL } from '@tramvai/tokens-server';
11
11
  import prop from '@tinkoff/utils/object/prop';
12
12
  import { ApiService } from '@tramvai/http-client';
13
- import find from '@tinkoff/utils/array/find';
14
- import flatten from '@tinkoff/utils/array/flatten';
15
- import { getPapiParameters } from '@tramvai/papi';
16
- import { REQUEST, RESPONSE } from '@tramvai/module-common';
17
13
 
18
14
  const fillHeaders = (deps) => (params) => {
19
15
  return params;
@@ -59,7 +55,7 @@ const environmentDependentOptions = typeof window === 'undefined'
59
55
  : {
60
56
  defaultTimeout: 30000,
61
57
  };
62
- const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, }) => {
58
+ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, }) => {
63
59
  return (options) => {
64
60
  if (!options.name) {
65
61
  throw Error(`Необходимо передать уникальное поле "name" для экземпляра HTTP клиента!`);
@@ -68,6 +64,7 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
68
64
  const forceDisabledCircuitBreaker = envManager.get('HTTP_CLIENT_CIRCUIT_BREAKER_DISABLED');
69
65
  const adapterOptions = mergeOptions({
70
66
  logger,
67
+ agent,
71
68
  method: 'GET',
72
69
  createCache: createCache
73
70
  ? (cacheOptions) => createCache('memory', cacheOptions)
@@ -129,7 +126,7 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
129
126
  };
130
127
  };
131
128
 
132
- class PapiService$1 extends ApiService {
129
+ class PapiService extends ApiService {
133
130
  constructor({ httpClientFactory, baseUrl }) {
134
131
  const httpClient = httpClientFactory({
135
132
  name: 'papi',
@@ -159,7 +156,7 @@ PapiClientModule = __decorate([
159
156
  provide({
160
157
  provide: PAPI_SERVICE,
161
158
  scope: Scope.SINGLETON,
162
- useClass: PapiService$1,
159
+ useClass: PapiService,
163
160
  deps: {
164
161
  httpClientFactory: HTTP_CLIENT_FACTORY,
165
162
  baseUrl: SERVER_MODULE_PAPI_PUBLIC_URL,
@@ -193,6 +190,10 @@ HttpClientModule = __decorate([
193
190
  token: API_CLIENT_PASS_HEADERS,
194
191
  optional: true,
195
192
  },
193
+ agent: {
194
+ token: HTTP_CLIENT_AGENT,
195
+ optional: true,
196
+ },
196
197
  },
197
198
  }),
198
199
  provide({
@@ -259,76 +260,4 @@ HttpClientModule = __decorate([
259
260
  })
260
261
  ], HttpClientModule);
261
262
 
262
- class PapiService {
263
- constructor({ papi, di }) {
264
- this.papi = flatten(papi || []);
265
- this.di = di;
266
- }
267
- async request({ path, query, body }) {
268
- var _a;
269
- const papiRoute = find((papi) => getPapiParameters(papi).path === `/${path}`, this.papi);
270
- if (!papiRoute) {
271
- throw new Error(`papi handler '${path}' not found`);
272
- }
273
- const papi = getPapiParameters(papiRoute);
274
- let rootDeps = {};
275
- if (papi.rootDeps) {
276
- rootDeps = this.di.getOfDeps(papi.rootDeps);
277
- rootDeps = papi.mapRootDeps ? papi.mapRootDeps(rootDeps) : rootDeps;
278
- }
279
- const childDI = createChildContainer(this.di);
280
- const req = { headers: { host: 'localhost' }, cookies: {}, query, body };
281
- const res = {};
282
- childDI.register({
283
- provide: REQUEST,
284
- useValue: req,
285
- });
286
- childDI.register({
287
- provide: RESPONSE,
288
- useValue: res,
289
- });
290
- const payload = await getPapiParameters(papiRoute).handler({
291
- ...rootDeps,
292
- ...childDI.getOfDeps((_a = papi.deps) !== null && _a !== void 0 ? _a : {}),
293
- req,
294
- res,
295
- });
296
- return { payload, status: 200, headers: {} };
297
- }
298
- get(path, payload, config) {
299
- return this.request({
300
- path,
301
- ...payload,
302
- ...config,
303
- method: 'GET',
304
- });
305
- }
306
- post(path, payload, config) {
307
- return this.request({
308
- path,
309
- requestType: 'json',
310
- ...payload,
311
- ...config,
312
- method: 'POST',
313
- });
314
- }
315
- put(path, payload, config) {
316
- return this.request({
317
- path,
318
- requestType: 'json',
319
- ...payload,
320
- ...config,
321
- method: 'PUT',
322
- });
323
- }
324
- delete(path, payload, config) {
325
- return this.request({
326
- path,
327
- ...payload,
328
- ...config,
329
- method: 'DELETE',
330
- });
331
- }
332
- }
333
-
334
263
  export { HttpClientModule, PapiService, fillHeaderIp, fillHeaders, formatError, httpClientFactory };
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { HttpClientModule } from './httpClientModule';
2
2
  export { httpClientFactory } from './httpClient/httpClientFactory';
3
- export { PapiService } from './papi/papiService';
3
+ export { PapiService } from './papiClientModule';
4
4
  export { fillHeaderIp, fillHeaders } from './utils/fillHeaders';
5
5
  export { formatError } from './utils/errors';
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 } from '@tramvai/tokens-http-client';
4
+ import { PAPI_SERVICE, HTTP_CLIENT_FACTORY, API_CLIENT_PASS_HEADERS, HTTP_CLIENT_AGENT, HTTP_CLIENT } from '@tramvai/tokens-http-client';
5
5
  import { LOGGER_TOKEN, ENV_MANAGER_TOKEN, REQUEST_MANAGER_TOKEN, ENV_USED_TOKEN, CREATE_CACHE_TOKEN } from '@tramvai/tokens-common';
6
6
  import isNil from '@tinkoff/utils/is/nil';
7
7
  import omit from '@tinkoff/utils/object/omit';
@@ -84,7 +84,7 @@ const environmentDependentOptions = typeof window === 'undefined'
84
84
  : {
85
85
  defaultTimeout: 30000,
86
86
  };
87
- const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, }) => {
87
+ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, }) => {
88
88
  return (options) => {
89
89
  if (!options.name) {
90
90
  throw Error(`Необходимо передать уникальное поле "name" для экземпляра HTTP клиента!`);
@@ -93,6 +93,7 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
93
93
  const forceDisabledCircuitBreaker = envManager.get('HTTP_CLIENT_CIRCUIT_BREAKER_DISABLED');
94
94
  const adapterOptions = mergeOptions({
95
95
  logger,
96
+ agent,
96
97
  method: 'GET',
97
98
  createCache: createCache
98
99
  ? (cacheOptions) => createCache('memory', cacheOptions)
@@ -268,6 +269,10 @@ HttpClientModule = __decorate([
268
269
  token: API_CLIENT_PASS_HEADERS,
269
270
  optional: true,
270
271
  },
272
+ agent: {
273
+ token: HTTP_CLIENT_AGENT,
274
+ optional: true,
275
+ },
271
276
  },
272
277
  }),
273
278
  provide({
package/lib/index.js CHANGED
@@ -98,7 +98,7 @@ const environmentDependentOptions = typeof window === 'undefined'
98
98
  : {
99
99
  defaultTimeout: 30000,
100
100
  };
101
- const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, }) => {
101
+ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, headersList, createCache, tinkoffRequestRegistry, agent, }) => {
102
102
  return (options) => {
103
103
  if (!options.name) {
104
104
  throw Error(`Необходимо передать уникальное поле "name" для экземпляра HTTP клиента!`);
@@ -107,6 +107,7 @@ const httpClientFactory = ({ logger, envManager, appInfo, requestManager, header
107
107
  const forceDisabledCircuitBreaker = envManager.get('HTTP_CLIENT_CIRCUIT_BREAKER_DISABLED');
108
108
  const adapterOptions = tinkoffRequestHttpClientAdapter.mergeOptions({
109
109
  logger,
110
+ agent,
110
111
  method: 'GET',
111
112
  createCache: createCache
112
113
  ? (cacheOptions) => createCache('memory', cacheOptions)
@@ -282,6 +283,10 @@ exports.HttpClientModule = tslib.__decorate([
282
283
  token: tokensHttpClient.API_CLIENT_PASS_HEADERS,
283
284
  optional: true,
284
285
  },
286
+ agent: {
287
+ token: tokensHttpClient.HTTP_CLIENT_AGENT,
288
+ optional: true,
289
+ },
285
290
  },
286
291
  }),
287
292
  core.provide({
@@ -1,2 +1,4 @@
1
+ import { PapiService } from './papi/papiService.browser';
2
+ export { PapiService };
1
3
  export declare class PapiClientModule {
2
4
  }
@@ -1,2 +1,4 @@
1
+ import { PapiService } from './papi/papiService';
2
+ export { PapiService };
1
3
  export declare class PapiClientModule {
2
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/module-http-client",
3
- "version": "1.39.0",
3
+ "version": "1.44.4",
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.23",
28
- "@tramvai/tinkoff-request-http-client-adapter": "0.8.184",
29
- "@tramvai/tokens-http-client": "1.39.0",
30
- "@tramvai/tokens-common": "1.39.0",
31
- "@tramvai/tokens-server": "1.39.0"
28
+ "@tramvai/tinkoff-request-http-client-adapter": "0.8.197",
29
+ "@tramvai/tokens-http-client": "1.44.4",
30
+ "@tramvai/tokens-common": "1.44.4",
31
+ "@tramvai/tokens-server": "1.44.4"
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.0",
39
- "@tramvai/module-common": "1.39.0",
40
- "@tramvai/papi": "1.39.0",
41
- "@tramvai/test-helpers": "1.39.0",
42
- "@tramvai/test-mocks": "1.39.0",
38
+ "@tramvai/core": "1.44.4",
39
+ "@tramvai/module-common": "1.44.4",
40
+ "@tramvai/papi": "1.44.4",
41
+ "@tramvai/test-helpers": "1.44.4",
42
+ "@tramvai/test-mocks": "1.44.4",
43
43
  "@tinkoff/dippy": "0.7.35",
44
44
  "node-fetch": "^2.6.1",
45
45
  "tslib": "^2.0.3"