@tramvai/module-server 5.0.2 → 5.1.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.
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  export declare const papiExecutorProvider: import("@tinkoff/dippy").Provider<{
3
4
  di: import("@tinkoff/dippy").Container & {
4
5
  __type?: "base token";
@@ -20,5 +21,8 @@ export declare const papiExecutorProvider: import("@tinkoff/dippy").Provider<{
20
21
  responseManager: import("@tramvai/tokens-common").ResponseManager & {
21
22
  __type?: "base token";
22
23
  };
24
+ asyncLocalStorage: import("async_hooks").AsyncLocalStorage<import("@tramvai/tokens-common").AsyncLocalStorageState> & {
25
+ __type?: "base token";
26
+ };
23
27
  }, <Result>(papi: import("@tramvai/papi").Papi<Result>) => any>;
24
28
  //# sourceMappingURL=executor.d.ts.map
@@ -1,12 +1,12 @@
1
1
  import { provide, Scope, DI_TOKEN } from '@tinkoff/dippy';
2
2
  import { getPapiParameters } from '@tramvai/papi';
3
- import { LOGGER_TOKEN, REQUEST_MANAGER_TOKEN, RESPONSE_MANAGER_TOKEN } from '@tramvai/tokens-common';
3
+ import { LOGGER_TOKEN, REQUEST_MANAGER_TOKEN, RESPONSE_MANAGER_TOKEN, ASYNC_LOCAL_STORAGE_TOKEN } from '@tramvai/tokens-common';
4
4
  import { PAPI_EXECUTOR, FASTIFY_REQUEST } from '@tramvai/tokens-server-private';
5
5
 
6
6
  const papiExecutorProvider = provide({
7
7
  provide: PAPI_EXECUTOR,
8
8
  scope: Scope.REQUEST,
9
- useFactory: ({ di, logger, fastifyRequest, requestManager, responseManager }) => {
9
+ useFactory: ({ di, logger, fastifyRequest, requestManager, responseManager, asyncLocalStorage, }) => {
10
10
  var _a;
11
11
  const papiLog = logger('papi');
12
12
  const papiOptions = {
@@ -24,6 +24,12 @@ const papiExecutorProvider = provide({
24
24
  deps: di.getOfDeps(deps),
25
25
  log: papiLog.child(`${method}_${path}`),
26
26
  };
27
+ const storage = asyncLocalStorage.getStore();
28
+ if (storage) {
29
+ // save Request DI container to async local storage context for current request
30
+ // eslint-disable-next-line no-param-reassign
31
+ storage.tramvaiRequestDi = di;
32
+ }
27
33
  return handler.call(papiContext, papiOptions);
28
34
  };
29
35
  },
@@ -33,6 +39,7 @@ const papiExecutorProvider = provide({
33
39
  fastifyRequest: FASTIFY_REQUEST,
34
40
  requestManager: REQUEST_MANAGER_TOKEN,
35
41
  responseManager: RESPONSE_MANAGER_TOKEN,
42
+ asyncLocalStorage: ASYNC_LOCAL_STORAGE_TOKEN,
36
43
  },
37
44
  });
38
45
 
@@ -10,7 +10,7 @@ var tokensServerPrivate = require('@tramvai/tokens-server-private');
10
10
  const papiExecutorProvider = dippy.provide({
11
11
  provide: tokensServerPrivate.PAPI_EXECUTOR,
12
12
  scope: dippy.Scope.REQUEST,
13
- useFactory: ({ di, logger, fastifyRequest, requestManager, responseManager }) => {
13
+ useFactory: ({ di, logger, fastifyRequest, requestManager, responseManager, asyncLocalStorage, }) => {
14
14
  var _a;
15
15
  const papiLog = logger('papi');
16
16
  const papiOptions = {
@@ -28,6 +28,12 @@ const papiExecutorProvider = dippy.provide({
28
28
  deps: di.getOfDeps(deps),
29
29
  log: papiLog.child(`${method}_${path}`),
30
30
  };
31
+ const storage = asyncLocalStorage.getStore();
32
+ if (storage) {
33
+ // save Request DI container to async local storage context for current request
34
+ // eslint-disable-next-line no-param-reassign
35
+ storage.tramvaiRequestDi = di;
36
+ }
31
37
  return handler.call(papiContext, papiOptions);
32
38
  };
33
39
  },
@@ -37,6 +43,7 @@ const papiExecutorProvider = dippy.provide({
37
43
  fastifyRequest: tokensServerPrivate.FASTIFY_REQUEST,
38
44
  requestManager: tokensCommon.REQUEST_MANAGER_TOKEN,
39
45
  responseManager: tokensCommon.RESPONSE_MANAGER_TOKEN,
46
+ asyncLocalStorage: tokensCommon.ASYNC_LOCAL_STORAGE_TOKEN,
40
47
  },
41
48
  });
42
49
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/module-server",
3
- "version": "5.0.2",
3
+ "version": "5.1.0",
4
4
  "description": "",
5
5
  "browser": "lib/browser.js",
6
6
  "main": "lib/server.js",
@@ -26,12 +26,12 @@
26
26
  "@tinkoff/monkeypatch": "5.0.2",
27
27
  "@tinkoff/terminus": "0.4.2",
28
28
  "@tinkoff/url": "0.11.2",
29
- "@tramvai/module-cache-warmup": "5.0.2",
30
- "@tramvai/module-metrics": "5.0.2",
31
- "@tramvai/papi": "5.0.2",
32
- "@tramvai/tokens-server": "5.0.2",
33
- "@tramvai/tokens-router": "5.0.2",
34
- "@tramvai/tokens-server-private": "5.0.2",
29
+ "@tramvai/module-cache-warmup": "5.1.0",
30
+ "@tramvai/module-metrics": "5.1.0",
31
+ "@tramvai/papi": "5.1.0",
32
+ "@tramvai/tokens-server": "5.1.0",
33
+ "@tramvai/tokens-router": "5.1.0",
34
+ "@tramvai/tokens-server-private": "5.1.0",
35
35
  "@tramvai/safe-strings": "0.8.2",
36
36
  "fastify": "^4.14.1",
37
37
  "@fastify/cookie": "^8.3.0",
@@ -44,14 +44,14 @@
44
44
  "peerDependencies": {
45
45
  "@tinkoff/dippy": "0.11.2",
46
46
  "@tinkoff/utils": "^2.1.2",
47
- "@tramvai/cli": "5.0.2",
48
- "@tramvai/core": "5.0.2",
49
- "@tramvai/react": "5.0.2",
50
- "@tramvai/module-common": "5.0.2",
51
- "@tramvai/module-environment": "5.0.2",
52
- "@tramvai/tokens-common": "5.0.2",
53
- "@tramvai/tokens-core-private": "5.0.2",
54
- "@tramvai/tokens-render": "5.0.2",
47
+ "@tramvai/cli": "5.1.0",
48
+ "@tramvai/core": "5.1.0",
49
+ "@tramvai/react": "5.1.0",
50
+ "@tramvai/module-common": "5.1.0",
51
+ "@tramvai/module-environment": "5.1.0",
52
+ "@tramvai/tokens-common": "5.1.0",
53
+ "@tramvai/tokens-core-private": "5.1.0",
54
+ "@tramvai/tokens-render": "5.1.0",
55
55
  "react": ">=16.14.0",
56
56
  "react-dom": ">=16.14.0",
57
57
  "tslib": "^2.4.0"