@nest-boot/request-context 8.0.0-beta.2 → 8.0.0-beta.3
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/dist/nest-dependency-resolver.d.ts +3 -0
- package/dist/nest-dependency-resolver.js +19 -0
- package/dist/nest-dependency-resolver.js.map +1 -0
- package/dist/request-context.d.ts +4 -0
- package/dist/request-context.interceptor.d.ts +3 -0
- package/dist/request-context.interceptor.js +14 -1
- package/dist/request-context.interceptor.js.map +1 -1
- package/dist/request-context.js +17 -1
- package/dist/request-context.js.map +1 -1
- package/dist/request-context.middleware.d.ts +3 -0
- package/dist/request-context.middleware.js +14 -1
- package/dist/request-context.middleware.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { InvalidClassScopeException } from "@nestjs/core/errors/exceptions/invalid-class-scope.exception";
|
|
2
|
+
import { UnknownElementException } from "@nestjs/core/errors/exceptions/unknown-element.exception";
|
|
3
|
+
export function createNestDependencyResolver(moduleRef) {
|
|
4
|
+
return (token) => {
|
|
5
|
+
try {
|
|
6
|
+
return moduleRef.get(token, {
|
|
7
|
+
strict: false,
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
if (error instanceof UnknownElementException ||
|
|
12
|
+
error instanceof InvalidClassScopeException) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
throw error;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=nest-dependency-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest-dependency-resolver.js","sourceRoot":"","sources":["../src/nest-dependency-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8DAA8D,CAAC;AAC1G,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAKnG,MAAM,UAAU,4BAA4B,CAC1C,SAAoB;IAEpB,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,IAAI,CAAC;YACH,OAAO,SAAS,CAAC,GAAG,CAAC,KAAwC,EAAE;gBAC7D,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,KAAK,YAAY,uBAAuB;gBACxC,KAAK,YAAY,0BAA0B,EAC3C,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type Type } from "@nestjs/common";
|
|
2
2
|
export type RequestContextMiddlewareType = <T>(ctx: RequestContext, next: () => Promise<T>) => Promise<T>;
|
|
3
|
+
export type RequestContextDependencyResolver = (token: string | symbol | Function) => unknown;
|
|
3
4
|
export interface RequestContextCreateOptions {
|
|
5
|
+
dependencyResolver?: RequestContextDependencyResolver;
|
|
4
6
|
id?: string;
|
|
5
7
|
type: string;
|
|
6
8
|
parent?: RequestContext;
|
|
@@ -9,6 +11,7 @@ export declare class RequestContext {
|
|
|
9
11
|
readonly id: string;
|
|
10
12
|
readonly type: string;
|
|
11
13
|
readonly parent?: RequestContext;
|
|
14
|
+
private readonly dependencyResolver?;
|
|
12
15
|
private readonly container;
|
|
13
16
|
private static readonly storage;
|
|
14
17
|
private static readonly middlewares;
|
|
@@ -16,6 +19,7 @@ export declare class RequestContext {
|
|
|
16
19
|
private static middlewaresStack;
|
|
17
20
|
constructor(options: RequestContextCreateOptions);
|
|
18
21
|
get<T>(token: string | symbol | Function | Type<T>): T | undefined;
|
|
22
|
+
private hasContextValue;
|
|
19
23
|
set<T>(typeOrToken: string | symbol | Type<T>, value: T): void;
|
|
20
24
|
getOrSet<T>(typeOrToken: string | symbol | Type<T>, value: T): T;
|
|
21
25
|
static get<T>(key: string | symbol | Function | Type<T>): T | undefined;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type CallHandler, type ExecutionContext, type NestInterceptor } from "@nestjs/common";
|
|
2
|
+
import { ModuleRef } from "@nestjs/core";
|
|
2
3
|
import { Observable } from "rxjs";
|
|
3
4
|
export declare class RequestContextInterceptor implements NestInterceptor {
|
|
5
|
+
private readonly moduleRef?;
|
|
6
|
+
constructor(moduleRef?: ModuleRef | undefined);
|
|
4
7
|
intercept<T>(executionContext: ExecutionContext, next: CallHandler<T>): Observable<T>;
|
|
5
8
|
}
|
|
@@ -4,10 +4,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
7
10
|
import { Injectable, } from "@nestjs/common";
|
|
11
|
+
import { ModuleRef } from "@nestjs/core";
|
|
8
12
|
import { Observable } from "rxjs";
|
|
13
|
+
import { createNestDependencyResolver } from "./nest-dependency-resolver.js";
|
|
9
14
|
import { RequestContext } from "./request-context.js";
|
|
10
15
|
let RequestContextInterceptor = class RequestContextInterceptor {
|
|
16
|
+
moduleRef;
|
|
17
|
+
constructor(moduleRef) {
|
|
18
|
+
this.moduleRef = moduleRef;
|
|
19
|
+
}
|
|
11
20
|
intercept(executionContext, next) {
|
|
12
21
|
if (RequestContext.isActive() ||
|
|
13
22
|
!["http", "graphql"].includes(executionContext.getType())) {
|
|
@@ -16,6 +25,9 @@ let RequestContextInterceptor = class RequestContextInterceptor {
|
|
|
16
25
|
const id = (executionContext.switchToHttp().getRequest() ??
|
|
17
26
|
executionContext.getArgByIndex(2).req)?.get?.("x-request-id");
|
|
18
27
|
const ctx = new RequestContext({
|
|
28
|
+
dependencyResolver: this.moduleRef
|
|
29
|
+
? createNestDependencyResolver(this.moduleRef)
|
|
30
|
+
: undefined,
|
|
19
31
|
id,
|
|
20
32
|
type: "http",
|
|
21
33
|
});
|
|
@@ -82,7 +94,8 @@ let RequestContextInterceptor = class RequestContextInterceptor {
|
|
|
82
94
|
}
|
|
83
95
|
};
|
|
84
96
|
RequestContextInterceptor = __decorate([
|
|
85
|
-
Injectable()
|
|
97
|
+
Injectable(),
|
|
98
|
+
__metadata("design:paramtypes", [ModuleRef])
|
|
86
99
|
], RequestContextInterceptor);
|
|
87
100
|
export { RequestContextInterceptor };
|
|
88
101
|
//# sourceMappingURL=request-context.interceptor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-context.interceptor.js","sourceRoot":"","sources":["../src/request-context.interceptor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request-context.interceptor.js","sourceRoot":"","sources":["../src/request-context.interceptor.ts"],"names":[],"mappings":"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"}
|
package/dist/request-context.js
CHANGED
|
@@ -4,6 +4,7 @@ export class RequestContext {
|
|
|
4
4
|
id;
|
|
5
5
|
type;
|
|
6
6
|
parent;
|
|
7
|
+
dependencyResolver;
|
|
7
8
|
container = new Map();
|
|
8
9
|
static storage = new AsyncLocalStorage();
|
|
9
10
|
static middlewares = new Map();
|
|
@@ -13,9 +14,24 @@ export class RequestContext {
|
|
|
13
14
|
this.id = options.id ?? randomUUID();
|
|
14
15
|
this.type = options.type;
|
|
15
16
|
this.parent = options.parent;
|
|
17
|
+
this.dependencyResolver = options.dependencyResolver;
|
|
16
18
|
}
|
|
17
19
|
get(token) {
|
|
18
|
-
|
|
20
|
+
if (this.container.has(token)) {
|
|
21
|
+
return this.container.get(token);
|
|
22
|
+
}
|
|
23
|
+
if (this.parent) {
|
|
24
|
+
const parentValue = this.parent.get(token);
|
|
25
|
+
if (typeof parentValue !== "undefined" ||
|
|
26
|
+
this.parent.hasContextValue(token)) {
|
|
27
|
+
return parentValue;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return this.dependencyResolver?.(token);
|
|
31
|
+
}
|
|
32
|
+
hasContextValue(token) {
|
|
33
|
+
return (this.container.has(token) ||
|
|
34
|
+
(this.parent?.hasContextValue(token) ?? false));
|
|
19
35
|
}
|
|
20
36
|
set(typeOrToken, value) {
|
|
21
37
|
this.container.set(typeOrToken, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-context.js","sourceRoot":"","sources":["../src/request-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"request-context.js","sourceRoot":"","sources":["../src/request-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type NestMiddleware } from "@nestjs/common";
|
|
2
|
+
import { ModuleRef } from "@nestjs/core";
|
|
2
3
|
import { type NextFunction, type Request, type Response } from "express";
|
|
3
4
|
export declare class RequestContextMiddleware implements NestMiddleware {
|
|
5
|
+
private readonly moduleRef?;
|
|
6
|
+
constructor(moduleRef?: ModuleRef | undefined);
|
|
4
7
|
use(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
5
8
|
}
|
|
@@ -4,16 +4,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
7
10
|
import { Injectable } from "@nestjs/common";
|
|
11
|
+
import { ModuleRef } from "@nestjs/core";
|
|
12
|
+
import { createNestDependencyResolver } from "./nest-dependency-resolver.js";
|
|
8
13
|
import { REQUEST as CTX_REQUEST_TOKEN, RESPONSE as CTX_RESPONSE_TOKEN, } from "./request-context.constants.js";
|
|
9
14
|
import { RequestContext } from "./request-context.js";
|
|
10
15
|
let RequestContextMiddleware = class RequestContextMiddleware {
|
|
16
|
+
moduleRef;
|
|
17
|
+
constructor(moduleRef) {
|
|
18
|
+
this.moduleRef = moduleRef;
|
|
19
|
+
}
|
|
11
20
|
async use(req, res, next) {
|
|
12
21
|
if (RequestContext.isActive()) {
|
|
13
22
|
next();
|
|
14
23
|
return;
|
|
15
24
|
}
|
|
16
25
|
const ctx = new RequestContext({
|
|
26
|
+
dependencyResolver: this.moduleRef
|
|
27
|
+
? createNestDependencyResolver(this.moduleRef)
|
|
28
|
+
: undefined,
|
|
17
29
|
id: req.get("x-request-id"),
|
|
18
30
|
type: "http",
|
|
19
31
|
});
|
|
@@ -36,7 +48,8 @@ let RequestContextMiddleware = class RequestContextMiddleware {
|
|
|
36
48
|
}
|
|
37
49
|
};
|
|
38
50
|
RequestContextMiddleware = __decorate([
|
|
39
|
-
Injectable()
|
|
51
|
+
Injectable(),
|
|
52
|
+
__metadata("design:paramtypes", [ModuleRef])
|
|
40
53
|
], RequestContextMiddleware);
|
|
41
54
|
export { RequestContextMiddleware };
|
|
42
55
|
//# sourceMappingURL=request-context.middleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-context.middleware.js","sourceRoot":"","sources":["../src/request-context.middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request-context.middleware.js","sourceRoot":"","sources":["../src/request-context.middleware.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EACL,OAAO,IAAI,iBAAiB,EAC5B,QAAQ,IAAI,kBAAkB,GAC/B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuB/C,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEN;IAA7B,YAA6B,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;IAAG,CAAC;IAStD,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACvD,IAAI,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;YAC7B,kBAAkB,EAAE,IAAI,CAAC,SAAS;gBAChC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC9C,CAAC,CAAC,SAAS;YACb,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;YAC3B,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,CAAU,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACzC,GAAG,CAAC,GAAG,CAAW,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAE3C,MAAM,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE;YACjC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnC,MAAM,kBAAkB,GAAG,GAAG,EAAE;oBAC9B,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBAChD,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;oBACjD,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBAChD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBAEF,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;gBACrC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBACpC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBAEpC,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA7CY,wBAAwB;IADpC,UAAU,EAAE;qCAG8B,SAAS;GAFvC,wBAAwB,CA6CpC"}
|