@loopback/express 3.0.0 → 3.1.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/CHANGELOG.md +39 -0
- package/dist/express.server.js +1 -2
- package/dist/express.server.js.map +1 -1
- package/dist/middleware.js +0 -3
- package/dist/middleware.js.map +1 -1
- package/dist/types.d.ts +8 -1
- package/dist/types.js +20 -3
- package/dist/types.js.map +1 -1
- package/package.json +19 -19
- package/src/express.server.ts +2 -3
- package/src/middleware.ts +0 -4
- package/src/types.ts +23 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,45 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [3.1.3](https://github.com/strongloop/loopback-next/compare/@loopback/express@3.1.2...@loopback/express@3.1.3) (2021-02-09)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* use Symbol.for() instead of adding lb/rest ([1ff2d5e](https://github.com/strongloop/loopback-next/commit/1ff2d5e61aa7c32fbc18698bd66b85a6854df9a6))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [3.1.2](https://github.com/strongloop/loopback-next/compare/@loopback/express@3.1.1...@loopback/express@3.1.2) (2021-01-21)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @loopback/express
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [3.1.1](https://github.com/strongloop/loopback-next/compare/@loopback/express@3.1.0...@loopback/express@3.1.1) (2020-12-07)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @loopback/express
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# [3.1.0](https://github.com/strongloop/loopback-next/compare/@loopback/express@3.0.0...@loopback/express@3.1.0) (2020-11-18)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Features
|
|
37
|
+
|
|
38
|
+
* **express:** add getMiddlewareContext utility function ([e496642](https://github.com/strongloop/loopback-next/commit/e49664294de2e5b43bb1c42e334a27ee86787453))
|
|
39
|
+
* **express:** set up MIDDLEWARE_CONTEXT for request object in constructor ([e086e7b](https://github.com/strongloop/loopback-next/commit/e086e7bcf64a8aa651490784502adfe787156eef))
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
6
45
|
# [3.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/express@2.1.0...@loopback/express@3.0.0) (2020-11-05)
|
|
7
46
|
|
|
8
47
|
|
package/dist/express.server.js
CHANGED
|
@@ -79,8 +79,7 @@ let ExpressServer = class ExpressServer extends middleware_registry_1.BaseMiddle
|
|
|
79
79
|
* @param request - Request object
|
|
80
80
|
*/
|
|
81
81
|
getMiddlewareContext(request) {
|
|
82
|
-
|
|
83
|
-
return request[types_1.MIDDLEWARE_CONTEXT];
|
|
82
|
+
return types_1.getMiddlewareContext(request);
|
|
84
83
|
}
|
|
85
84
|
};
|
|
86
85
|
ExpressServer = tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express.server.js","sourceRoot":"","sources":["../src/express.server.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAMwB;AACxB,uDAA4E;AAC5E,0DAAiC;AACjC,8DAA8B;AAC9B,6CAAiD;AACjD,+DAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"express.server.js","sourceRoot":"","sources":["../src/express.server.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAMwB;AACxB,uDAA4E;AAC5E,0DAAiC;AACjC,8DAA8B;AAC9B,6CAAiD;AACjD,+DAA6D;AAC7D,mCAAyE;AAEzE,MAAM,KAAK,GAAG,eAAY,CAAC,qBAAqB,CAAC,CAAC;AAgBlD;;GAEG;AACH,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,4CAAsB;IAcvD,YAEqB,MAA4B,EAE/C,MAAgB;;QAEhB,KAAK,CAAC,MAAM,CAAC,CAAC;QAJK,WAAM,GAAN,MAAM,CAAsB;QAK/C,IAAI,CAAC,KAAK,GAAG,mBAAY,CAAC,MAAM,CAAC;QACjC,IAAI,QAAQ,SAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,EAAE,CAAC;QACtC,gCAAgC;QAChC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,QAAQ;YAAE,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,CAAC,UAAU,GAAG,iBAAO,EAAE,CAAC;QAC5B,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE;YACpB,KAAK,MAAM,CAAC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE;gBAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;aAC7C;SACF;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAE1D,4DAA4D;QAC5D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,gCAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,IAAI,GAAG;QACL,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACjC,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;;QACT,aAAO,IAAI,CAAC,UAAU,0CAAE,GAAG,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,KAAK,CAAC,+BAA+B,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,OAAgB;QACnC,OAAO,4BAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACF,CAAA;AArFY,aAAa;IAerB,mBAAA,aAAM,CAAC,mBAAY,CAAC,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAA;IAE/D,mBAAA,aAAM,CAAC,mBAAY,CAAC,oBAAoB,CAAC,CAAA;qDACjC,cAAO;GAlBP,aAAa,CAqFzB;AArFY,sCAAa"}
|
package/dist/middleware.js
CHANGED
|
@@ -266,9 +266,6 @@ exports.invokeExpressMiddleware = invokeExpressMiddleware;
|
|
|
266
266
|
function toExpressMiddleware(ctx) {
|
|
267
267
|
return async (req, res, next) => {
|
|
268
268
|
const middlewareCtx = new types_1.MiddlewareContext(req, res, ctx);
|
|
269
|
-
// Set the middleware context to `request` object
|
|
270
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
271
|
-
req[types_1.MIDDLEWARE_CONTEXT] = middlewareCtx;
|
|
272
269
|
try {
|
|
273
270
|
const result = await invokeMiddleware(middlewareCtx);
|
|
274
271
|
if (result !== res) {
|
package/dist/middleware.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAiBwB;AACxB,0DAAiC;AACjC,iDAAgD;AAChD,iCAAsE;AACtE,qEAIkC;AAClC,
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -34,6 +34,12 @@ export declare class MiddlewareContext extends Context implements HandlerContext
|
|
|
34
34
|
constructor(request: Request, response: Response, parent?: Context, name?: string);
|
|
35
35
|
protected setupBindings(): void;
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* A helper function to retrieve the MiddlewareContext/RequestContext from the
|
|
39
|
+
* request object
|
|
40
|
+
* @param request - Express request object
|
|
41
|
+
*/
|
|
42
|
+
export declare function getMiddlewareContext<T extends MiddlewareContext = MiddlewareContext>(request?: Request): T | undefined;
|
|
37
43
|
/**
|
|
38
44
|
* Interface LoopBack 4 middleware to be executed within sequence of actions.
|
|
39
45
|
* A middleware for LoopBack is basically a generic interceptor that uses
|
|
@@ -241,7 +247,8 @@ export interface ExpressMiddlewareFactory<C> {
|
|
|
241
247
|
(middlewareConfig?: C): ExpressRequestHandler;
|
|
242
248
|
}
|
|
243
249
|
/**
|
|
244
|
-
* A symbol to store `MiddlewareContext` on the request object
|
|
250
|
+
* A symbol to store `MiddlewareContext` on the request object. This symbol
|
|
251
|
+
* can be referenced by name, before it is created.
|
|
245
252
|
*/
|
|
246
253
|
export declare const MIDDLEWARE_CONTEXT: unique symbol;
|
|
247
254
|
/**
|
package/dist/types.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// This file is licensed under the MIT License.
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.MiddlewareGroups = exports.MIDDLEWARE_CONTEXT = exports.DEFAULT_MIDDLEWARE_CHAIN = exports.MiddlewareChain = exports.MiddlewareContext = exports.Router = void 0;
|
|
7
|
+
exports.MiddlewareGroups = exports.MIDDLEWARE_CONTEXT = exports.DEFAULT_MIDDLEWARE_CHAIN = exports.MiddlewareChain = exports.getMiddlewareContext = exports.MiddlewareContext = exports.Router = void 0;
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
9
9
|
const core_1 = require("@loopback/core");
|
|
10
10
|
const on_finished_1 = tslib_1.__importDefault(require("on-finished"));
|
|
@@ -32,6 +32,10 @@ class MiddlewareContext extends core_1.Context {
|
|
|
32
32
|
*/
|
|
33
33
|
this.responseFinished = false;
|
|
34
34
|
this.scope = core_1.BindingScope.REQUEST;
|
|
35
|
+
// Set the request context as a property of Express request object so that
|
|
36
|
+
// downstream Express native integration can access `RequestContext`
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
|
+
request[exports.MIDDLEWARE_CONTEXT] = this;
|
|
35
39
|
this.setupBindings();
|
|
36
40
|
on_finished_1.default(this.response, () => {
|
|
37
41
|
this.responseFinished = true;
|
|
@@ -46,6 +50,18 @@ class MiddlewareContext extends core_1.Context {
|
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
52
|
exports.MiddlewareContext = MiddlewareContext;
|
|
53
|
+
/**
|
|
54
|
+
* A helper function to retrieve the MiddlewareContext/RequestContext from the
|
|
55
|
+
* request object
|
|
56
|
+
* @param request - Express request object
|
|
57
|
+
*/
|
|
58
|
+
function getMiddlewareContext(request) {
|
|
59
|
+
if (request == null)
|
|
60
|
+
return undefined;
|
|
61
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
62
|
+
return request[exports.MIDDLEWARE_CONTEXT];
|
|
63
|
+
}
|
|
64
|
+
exports.getMiddlewareContext = getMiddlewareContext;
|
|
49
65
|
/**
|
|
50
66
|
* An interceptor chain of middleware. This represents a list of cascading
|
|
51
67
|
* middleware functions to be executed by the order of `group` names.
|
|
@@ -58,9 +74,10 @@ exports.MiddlewareChain = MiddlewareChain;
|
|
|
58
74
|
*/
|
|
59
75
|
exports.DEFAULT_MIDDLEWARE_CHAIN = 'middlewareChain.default';
|
|
60
76
|
/**
|
|
61
|
-
* A symbol to store `MiddlewareContext` on the request object
|
|
77
|
+
* A symbol to store `MiddlewareContext` on the request object. This symbol
|
|
78
|
+
* can be referenced by name, before it is created.
|
|
62
79
|
*/
|
|
63
|
-
exports.MIDDLEWARE_CONTEXT = Symbol('loopback.middleware.context');
|
|
80
|
+
exports.MIDDLEWARE_CONTEXT = Symbol.for('loopback.middleware.context');
|
|
64
81
|
/**
|
|
65
82
|
* Constants for middleware groups
|
|
66
83
|
*/
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAUwB;AAExB,sEAAqC;AACrC,iCAA0C;AAE1C,mCAAiE;AAAtC,iGAAA,MAAM,OAAA;AAgBjC;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,cAAO;IAM5C;;;;;;OAMG;IACH,YACkB,OAAgB,EAChB,QAAkB,EAClC,MAAgB,EAChB,IAAa;QAEb,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QALJ,YAAO,GAAP,OAAO,CAAS;QAChB,aAAQ,GAAR,QAAQ,CAAU;QAdpC;;WAEG;QACH,qBAAgB,GAAG,KAAK,CAAC;QAgBvB,IAAI,CAAC,KAAK,GAAG,mBAAY,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAUwB;AAExB,sEAAqC;AACrC,iCAA0C;AAE1C,mCAAiE;AAAtC,iGAAA,MAAM,OAAA;AAgBjC;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,cAAO;IAM5C;;;;;;OAMG;IACH,YACkB,OAAgB,EAChB,QAAkB,EAClC,MAAgB,EAChB,IAAa;QAEb,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QALJ,YAAO,GAAP,OAAO,CAAS;QAChB,aAAQ,GAAR,QAAQ,CAAU;QAdpC;;WAEG;QACH,qBAAgB,GAAG,KAAK,CAAC;QAgBvB,IAAI,CAAC,KAAK,GAAG,mBAAY,CAAC,OAAO,CAAC;QAElC,0EAA0E;QAC1E,oEAAoE;QACpE,8DAA8D;QAC7D,OAAe,CAAC,0BAAkB,CAAC,GAAG,IAAI,CAAC;QAE5C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,qBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,uEAAuE;YACvE,2BAA2B;YAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAES,aAAa;QACrB,IAAI,CAAC,IAAI,CAAC,yBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;CACF;AAxCD,8CAwCC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAElC,OAAiB;IACjB,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACtC,8DAA8D;IAC9D,OAAQ,OAAe,CAAC,0BAAkB,CAAC,CAAC;AAC9C,CAAC;AAND,oDAMC;AAmDD;;;GAGG;AACH,MAAa,eAAgB,SAAQ,8BAA0C;CAAG;AAAlF,0CAAkF;AAOlF;;GAEG;AACU,QAAA,wBAAwB,GAAG,yBAAyB,CAAC;AAwKlE;;;GAGG;AACU,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAE5E;;GAEG;AACH,IAAiB,gBAAgB,CAgBhC;AAhBD,WAAiB,gBAAgB;IAC/B;;OAEG;IACU,qBAAI,GAAG,MAAM,CAAC;IAE3B;;OAEG;IACU,yBAAQ,GAAG,SAAS,CAAC;IAElC;;OAEG;IACU,2BAAU,GAAG,YAAY,CAAC;IAC1B,wBAAO,GAAG,iBAAA,UAAU,CAAC;AACpC,CAAC,EAhBgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAgBhC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/express",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.3",
|
|
4
4
|
"description": "Integrate with Express and expose middleware infrastructure for sequence and interceptors",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"loopback"
|
|
10
10
|
],
|
|
11
11
|
"engines": {
|
|
12
|
-
"node": "^10.16 || 12 || 14"
|
|
12
|
+
"node": "^10.16 || 12 || 14 || 15"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
15
|
"build": "lb-tsc",
|
|
@@ -30,40 +30,40 @@
|
|
|
30
30
|
"publishConfig": {
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
|
-
"files": [
|
|
34
|
-
"README.md",
|
|
35
|
-
"dist",
|
|
36
|
-
"src",
|
|
37
|
-
"!*/__tests__"
|
|
38
|
-
],
|
|
39
33
|
"peerDependencies": {
|
|
40
|
-
"@loopback/core": "^2.
|
|
34
|
+
"@loopback/core": "^2.14.1"
|
|
41
35
|
},
|
|
42
36
|
"dependencies": {
|
|
43
|
-
"@loopback/http-server": "^2.3.
|
|
37
|
+
"@loopback/http-server": "^2.3.5",
|
|
44
38
|
"@types/body-parser": "^1.19.0",
|
|
45
|
-
"@types/express": "^4.17.
|
|
46
|
-
"@types/express-serve-static-core": "^4.17.
|
|
39
|
+
"@types/express": "^4.17.11",
|
|
40
|
+
"@types/express-serve-static-core": "^4.17.18",
|
|
47
41
|
"@types/http-errors": "^1.8.0",
|
|
48
42
|
"body-parser": "^1.19.0",
|
|
49
|
-
"debug": "^4.
|
|
43
|
+
"debug": "^4.3.1",
|
|
50
44
|
"express": "^4.17.1",
|
|
51
45
|
"http-errors": "^1.8.0",
|
|
52
46
|
"on-finished": "^2.3.0",
|
|
53
47
|
"toposort": "^2.0.2",
|
|
54
|
-
"tslib": "^2.0
|
|
48
|
+
"tslib": "^2.1.0"
|
|
55
49
|
},
|
|
56
50
|
"devDependencies": {
|
|
57
|
-
"@loopback/build": "^6.2.
|
|
58
|
-
"@loopback/core": "^2.
|
|
59
|
-
"@loopback/testlab": "^3.2.
|
|
51
|
+
"@loopback/build": "^6.2.9",
|
|
52
|
+
"@loopback/core": "^2.14.1",
|
|
53
|
+
"@loopback/testlab": "^3.2.12",
|
|
60
54
|
"@types/debug": "^4.1.5",
|
|
61
55
|
"@types/node": "^10.17.35",
|
|
62
56
|
"@types/on-finished": "^2.3.1",
|
|
63
57
|
"@types/toposort": "^2.0.3",
|
|
64
58
|
"http-errors": "^1.8.0",
|
|
65
59
|
"source-map-support": "^0.5.19",
|
|
66
|
-
"typescript": "~4.
|
|
60
|
+
"typescript": "~4.1.3"
|
|
67
61
|
},
|
|
68
|
-
"
|
|
62
|
+
"files": [
|
|
63
|
+
"README.md",
|
|
64
|
+
"dist",
|
|
65
|
+
"src",
|
|
66
|
+
"!*/__tests__"
|
|
67
|
+
],
|
|
68
|
+
"gitHead": "0fcf97fa1e87457de85f8f1b6b5cbf9f4f0bd640"
|
|
69
69
|
}
|
package/src/express.server.ts
CHANGED
|
@@ -15,7 +15,7 @@ import debugFactory from 'debug';
|
|
|
15
15
|
import express from 'express';
|
|
16
16
|
import {toExpressMiddleware} from './middleware';
|
|
17
17
|
import {BaseMiddlewareRegistry} from './middleware-registry';
|
|
18
|
-
import {
|
|
18
|
+
import {getMiddlewareContext, MiddlewareContext, Request} from './types';
|
|
19
19
|
|
|
20
20
|
const debug = debugFactory('loopback:middleware');
|
|
21
21
|
|
|
@@ -119,7 +119,6 @@ export class ExpressServer extends BaseMiddlewareRegistry implements Server {
|
|
|
119
119
|
* @param request - Request object
|
|
120
120
|
*/
|
|
121
121
|
getMiddlewareContext(request: Request): MiddlewareContext | undefined {
|
|
122
|
-
|
|
123
|
-
return (request as any)[MIDDLEWARE_CONTEXT];
|
|
122
|
+
return getMiddlewareContext(request);
|
|
124
123
|
}
|
|
125
124
|
}
|
package/src/middleware.ts
CHANGED
|
@@ -38,7 +38,6 @@ import {
|
|
|
38
38
|
MiddlewareBindingOptions,
|
|
39
39
|
MiddlewareChain,
|
|
40
40
|
MiddlewareContext,
|
|
41
|
-
MIDDLEWARE_CONTEXT,
|
|
42
41
|
} from './types';
|
|
43
42
|
|
|
44
43
|
const debug = debugFactory('loopback:middleware');
|
|
@@ -356,9 +355,6 @@ export function invokeExpressMiddleware(
|
|
|
356
355
|
export function toExpressMiddleware(ctx: Context): ExpressRequestHandler {
|
|
357
356
|
return async (req, res, next) => {
|
|
358
357
|
const middlewareCtx = new MiddlewareContext(req, res, ctx);
|
|
359
|
-
// Set the middleware context to `request` object
|
|
360
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
361
|
-
(req as any)[MIDDLEWARE_CONTEXT] = middlewareCtx;
|
|
362
358
|
|
|
363
359
|
try {
|
|
364
360
|
const result = await invokeMiddleware(middlewareCtx);
|
package/src/types.ts
CHANGED
|
@@ -59,6 +59,12 @@ export class MiddlewareContext extends Context implements HandlerContext {
|
|
|
59
59
|
) {
|
|
60
60
|
super(parent, name);
|
|
61
61
|
this.scope = BindingScope.REQUEST;
|
|
62
|
+
|
|
63
|
+
// Set the request context as a property of Express request object so that
|
|
64
|
+
// downstream Express native integration can access `RequestContext`
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
66
|
+
(request as any)[MIDDLEWARE_CONTEXT] = this;
|
|
67
|
+
|
|
62
68
|
this.setupBindings();
|
|
63
69
|
onFinished(this.response, () => {
|
|
64
70
|
this.responseFinished = true;
|
|
@@ -74,6 +80,19 @@ export class MiddlewareContext extends Context implements HandlerContext {
|
|
|
74
80
|
}
|
|
75
81
|
}
|
|
76
82
|
|
|
83
|
+
/**
|
|
84
|
+
* A helper function to retrieve the MiddlewareContext/RequestContext from the
|
|
85
|
+
* request object
|
|
86
|
+
* @param request - Express request object
|
|
87
|
+
*/
|
|
88
|
+
export function getMiddlewareContext<
|
|
89
|
+
T extends MiddlewareContext = MiddlewareContext
|
|
90
|
+
>(request?: Request): T | undefined {
|
|
91
|
+
if (request == null) return undefined;
|
|
92
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
93
|
+
return (request as any)[MIDDLEWARE_CONTEXT];
|
|
94
|
+
}
|
|
95
|
+
|
|
77
96
|
/**
|
|
78
97
|
* Interface LoopBack 4 middleware to be executed within sequence of actions.
|
|
79
98
|
* A middleware for LoopBack is basically a generic interceptor that uses
|
|
@@ -127,9 +146,7 @@ export interface Middleware extends GenericInterceptor<MiddlewareContext> {}
|
|
|
127
146
|
* An interceptor chain of middleware. This represents a list of cascading
|
|
128
147
|
* middleware functions to be executed by the order of `group` names.
|
|
129
148
|
*/
|
|
130
|
-
export class MiddlewareChain extends GenericInterceptorChain<
|
|
131
|
-
MiddlewareContext
|
|
132
|
-
> {}
|
|
149
|
+
export class MiddlewareChain extends GenericInterceptorChain<MiddlewareContext> {}
|
|
133
150
|
|
|
134
151
|
/**
|
|
135
152
|
* A middleware function or binding key
|
|
@@ -308,9 +325,10 @@ export interface ExpressMiddlewareFactory<C> {
|
|
|
308
325
|
}
|
|
309
326
|
|
|
310
327
|
/**
|
|
311
|
-
* A symbol to store `MiddlewareContext` on the request object
|
|
328
|
+
* A symbol to store `MiddlewareContext` on the request object. This symbol
|
|
329
|
+
* can be referenced by name, before it is created.
|
|
312
330
|
*/
|
|
313
|
-
export const MIDDLEWARE_CONTEXT = Symbol('loopback.middleware.context');
|
|
331
|
+
export const MIDDLEWARE_CONTEXT = Symbol.for('loopback.middleware.context');
|
|
314
332
|
|
|
315
333
|
/**
|
|
316
334
|
* Constants for middleware groups
|