@loopback/express 1.2.1 → 1.2.5
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 +38 -0
- package/dist/express.server.js +67 -69
- package/dist/express.server.js.map +1 -1
- package/dist/keys.d.ts +1 -1
- package/dist/keys.js +2 -2
- package/dist/keys.js.map +1 -1
- package/dist/middleware-interceptor.js +40 -43
- package/dist/middleware-interceptor.js.map +1 -1
- package/dist/middleware-registry.d.ts +29 -23
- package/dist/middleware-registry.js.map +1 -1
- package/dist/middleware.d.ts +1 -1
- package/dist/middleware.js +7 -8
- package/dist/middleware.js.map +1 -1
- package/dist/mixins/middleware.mixin.d.ts +29 -23
- package/dist/mixins/middleware.mixin.js +1 -0
- package/dist/mixins/middleware.mixin.js.map +1 -1
- package/dist/providers/invoke-middleware.provider.js +44 -46
- package/dist/providers/invoke-middleware.provider.js.map +1 -1
- package/package.json +17 -18
- package/src/express.server.ts +1 -1
- package/src/keys.ts +1 -1
- package/src/middleware-registry.ts +2 -19
- package/src/middleware.ts +5 -4
- package/src/mixins/middleware.mixin.ts +2 -19
- package/src/providers/invoke-middleware.provider.ts +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,44 @@
|
|
|
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
|
+
## [1.2.5](https://github.com/strongloop/loopback-next/compare/@loopback/express@1.2.4...@loopback/express@1.2.5) (2020-06-30)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @loopback/express
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [1.2.4](https://github.com/strongloop/loopback-next/compare/@loopback/express@1.2.3...@loopback/express@1.2.4) (2020-06-23)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* set node version to >=10.16 to support events.once ([e39da1c](https://github.com/strongloop/loopback-next/commit/e39da1ca47728eafaf83c10ce35b09b03b6a4edc))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [1.2.3](https://github.com/strongloop/loopback-next/compare/@loopback/express@1.2.2...@loopback/express@1.2.3) (2020-06-11)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* **express:** ensure options are honored for `invokeMiddleware` resolved from the provider ([b80fcf8](https://github.com/strongloop/loopback-next/commit/b80fcf873fc5213a4d031b7684ddd4bd9ec90f8f))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## [1.2.2](https://github.com/strongloop/loopback-next/compare/@loopback/express@1.2.1...@loopback/express@1.2.2) (2020-05-28)
|
|
37
|
+
|
|
38
|
+
**Note:** Version bump only for package @loopback/express
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
6
44
|
## [1.2.1](https://github.com/strongloop/loopback-next/compare/@loopback/express@1.2.0...@loopback/express@1.2.1) (2020-05-20)
|
|
7
45
|
|
|
8
46
|
**Note:** Version bump only for package @loopback/express
|
package/dist/express.server.js
CHANGED
|
@@ -17,77 +17,75 @@ const debug = debug_1.default('loopback:middleware');
|
|
|
17
17
|
/**
|
|
18
18
|
* An Express server that provides middleware composition and injection
|
|
19
19
|
*/
|
|
20
|
-
let ExpressServer =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this.expressApp.set(p, config === null || config === void 0 ? void 0 : config.settings[p]);
|
|
36
|
-
}
|
|
20
|
+
let ExpressServer = class ExpressServer extends middleware_registry_1.BaseMiddlewareRegistry {
|
|
21
|
+
constructor(config, parent) {
|
|
22
|
+
var _a;
|
|
23
|
+
super(parent);
|
|
24
|
+
this.config = config;
|
|
25
|
+
let basePath = (_a = config === null || config === void 0 ? void 0 : config.basePath) !== null && _a !== void 0 ? _a : '';
|
|
26
|
+
// Trim leading and trailing `/`
|
|
27
|
+
basePath = basePath.replace(/(^\/)|(\/$)/, '');
|
|
28
|
+
if (basePath)
|
|
29
|
+
basePath = '/' + basePath;
|
|
30
|
+
this.basePath = basePath;
|
|
31
|
+
this.expressApp = express_1.default();
|
|
32
|
+
if (config === null || config === void 0 ? void 0 : config.settings) {
|
|
33
|
+
for (const p in config === null || config === void 0 ? void 0 : config.settings) {
|
|
34
|
+
this.expressApp.set(p, config === null || config === void 0 ? void 0 : config.settings[p]);
|
|
37
35
|
}
|
|
38
|
-
this.httpServer = new http_server_1.HttpServer(this.expressApp, config);
|
|
39
|
-
// Set up the middleware chain as the 1st Express middleware
|
|
40
|
-
this.expressApp.use(this.basePath, middleware_1.toExpressMiddleware(this));
|
|
41
36
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
37
|
+
this.httpServer = new http_server_1.HttpServer(this.expressApp, config);
|
|
38
|
+
// Set up the middleware chain as the 1st Express middleware
|
|
39
|
+
this.expressApp.use(this.basePath, middleware_1.toExpressMiddleware(this));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Some of the methods below are copied from RestServer
|
|
43
|
+
* TODO(rfeng): We might want to refactor some methods from RestServer into
|
|
44
|
+
* the base ExpressServer.
|
|
45
|
+
*/
|
|
46
|
+
get listening() {
|
|
47
|
+
return this.httpServer ? this.httpServer.listening : false;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The base url for the server, including the basePath if set. For example,
|
|
51
|
+
* the value will be 'http://localhost:3000/api' if `basePath` is set to
|
|
52
|
+
* '/api'.
|
|
53
|
+
*/
|
|
54
|
+
get url() {
|
|
55
|
+
let serverUrl = this.rootUrl;
|
|
56
|
+
if (!serverUrl)
|
|
60
57
|
return serverUrl;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
58
|
+
serverUrl = serverUrl + this.basePath;
|
|
59
|
+
return serverUrl;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The root url for the server without the basePath. For example, the value
|
|
63
|
+
* will be 'http://localhost:3000' regardless of the `basePath`.
|
|
64
|
+
*/
|
|
65
|
+
get rootUrl() {
|
|
66
|
+
var _a;
|
|
67
|
+
return (_a = this.httpServer) === null || _a === void 0 ? void 0 : _a.url;
|
|
68
|
+
}
|
|
69
|
+
async start() {
|
|
70
|
+
await this.httpServer.start();
|
|
71
|
+
debug('ExpressServer listening at %s', this.httpServer.url);
|
|
72
|
+
}
|
|
73
|
+
stop() {
|
|
74
|
+
return this.httpServer.stop();
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Retrieve the middleware context from the request
|
|
78
|
+
* @param request - Request object
|
|
79
|
+
*/
|
|
80
|
+
getMiddlewareContext(request) {
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
|
+
return request[types_1.MIDDLEWARE_CONTEXT];
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
ExpressServer = tslib_1.__decorate([
|
|
86
|
+
tslib_1.__param(0, core_1.inject(core_1.CoreBindings.APPLICATION_CONFIG.deepProperty('express'))),
|
|
87
|
+
tslib_1.__param(1, core_1.inject(core_1.CoreBindings.APPLICATION_INSTANCE)),
|
|
88
|
+
tslib_1.__metadata("design:paramtypes", [Object, core_1.Context])
|
|
89
|
+
], ExpressServer);
|
|
92
90
|
exports.ExpressServer = ExpressServer;
|
|
93
91
|
//# sourceMappingURL=express.server.js.map
|
|
@@ -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,yCAAqE;AACrE,uDAA4E;AAC5E,0DAAiC;AACjC,8DAA8B;AAC9B,6CAAiD;AACjD,+DAA6D;AAC7D,mCAAuE;AAEvE,MAAM,KAAK,GAAG,eAAY,CAAC,qBAAqB,CAAC,CAAC;AAgBlD;;GAEG;AACH
|
|
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,yCAAqE;AACrE,uDAA4E;AAC5E,0DAAiC;AACjC,8DAA8B;AAC9B,6CAAiD;AACjD,+DAA6D;AAC7D,mCAAuE;AAEvE,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,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,8DAA8D;QAC9D,OAAQ,OAAe,CAAC,0BAAkB,CAAC,CAAC;IAC9C,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/keys.d.ts
CHANGED
package/dist/keys.js
CHANGED
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.DEFAULT_MIDDLEWARE_GROUP = exports.MIDDLEWARE_INTERCEPTOR_NAMESPACE = exports.GLOBAL_MIDDLEWARE_INTERCEPTOR_NAMESPACE = exports.MIDDLEWARE_NAMESPACE = exports.MiddlewareBindings = void 0;
|
|
8
|
-
const
|
|
8
|
+
const core_1 = require("@loopback/core");
|
|
9
9
|
var MiddlewareBindings;
|
|
10
10
|
(function (MiddlewareBindings) {
|
|
11
11
|
/**
|
|
12
12
|
* Binding key for setting and injecting the http request context
|
|
13
13
|
*/
|
|
14
|
-
MiddlewareBindings.CONTEXT =
|
|
14
|
+
MiddlewareBindings.CONTEXT = core_1.BindingKey.create('middleware.http.context');
|
|
15
15
|
})(MiddlewareBindings = exports.MiddlewareBindings || (exports.MiddlewareBindings = {}));
|
|
16
16
|
/**
|
|
17
17
|
* Default namespaces for middleware
|
package/dist/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;AAEhE
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAA0C;AAG1C,IAAiB,kBAAkB,CAOlC;AAPD,WAAiB,kBAAkB;IACjC;;OAEG;IACU,0BAAO,GAAG,iBAAU,CAAC,MAAM,CACtC,yBAAyB,CAC1B,CAAC;AACJ,CAAC,EAPgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAOlC;AAED;;GAEG;AACU,QAAA,oBAAoB,GAAG,YAAY,CAAC;AAEjD;;GAEG;AACU,QAAA,uCAAuC,GAClD,+BAA+B,CAAC;AAElC;;GAEG;AACU,QAAA,gCAAgC,GAAG,+BAA+B,CAAC;AAEhF;;GAEG;AACU,QAAA,wBAAwB,GAAG,YAAY,CAAC"}
|
|
@@ -132,54 +132,51 @@ exports.createInterceptor = createInterceptor;
|
|
|
132
132
|
*
|
|
133
133
|
* @typeParam CFG - Configuration type
|
|
134
134
|
*/
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
this.middlewareConfigView = middlewareConfig;
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
this.middlewareConfig = middlewareConfig;
|
|
144
|
-
}
|
|
145
|
-
this.setupConfigView();
|
|
135
|
+
class ExpressMiddlewareInterceptorProvider {
|
|
136
|
+
constructor(middlewareFactory, middlewareConfig) {
|
|
137
|
+
this.middlewareFactory = middlewareFactory;
|
|
138
|
+
if (middlewareConfig != null && middlewareConfig instanceof core_1.ContextView) {
|
|
139
|
+
this.middlewareConfigView = middlewareConfig;
|
|
146
140
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
// Set up a listener to reset the cached interceptor function for the
|
|
150
|
-
// first time
|
|
151
|
-
this.middlewareConfigView.on('refresh', () => {
|
|
152
|
-
if (this.binding != null) {
|
|
153
|
-
debug('Configuration change is detected for binding %s.' +
|
|
154
|
-
' The Express middleware handler function will be recreated.', this.binding.key);
|
|
155
|
-
}
|
|
156
|
-
this.interceptor = null;
|
|
157
|
-
});
|
|
158
|
-
}
|
|
141
|
+
else {
|
|
142
|
+
this.middlewareConfig = middlewareConfig;
|
|
159
143
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
if (this.
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
debug('Creating interceptor for %s with config', this.middlewareFactory.name, this.middlewareConfig);
|
|
171
|
-
this.interceptor = createInterceptor(this.middlewareFactory, this.middlewareConfig);
|
|
144
|
+
this.setupConfigView();
|
|
145
|
+
}
|
|
146
|
+
setupConfigView() {
|
|
147
|
+
if (this.middlewareConfigView) {
|
|
148
|
+
// Set up a listener to reset the cached interceptor function for the
|
|
149
|
+
// first time
|
|
150
|
+
this.middlewareConfigView.on('refresh', () => {
|
|
151
|
+
if (this.binding != null) {
|
|
152
|
+
debug('Configuration change is detected for binding %s.' +
|
|
153
|
+
' The Express middleware handler function will be recreated.', this.binding.key);
|
|
172
154
|
}
|
|
173
|
-
|
|
174
|
-
};
|
|
155
|
+
this.interceptor = null;
|
|
156
|
+
});
|
|
175
157
|
}
|
|
176
158
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
159
|
+
value() {
|
|
160
|
+
return async (ctx, next) => {
|
|
161
|
+
var _a;
|
|
162
|
+
// Get the latest configuration
|
|
163
|
+
if (this.middlewareConfigView != null) {
|
|
164
|
+
this.middlewareConfig = (_a = (await this.middlewareConfigView.singleValue())) !== null && _a !== void 0 ? _a : this.middlewareConfig;
|
|
165
|
+
}
|
|
166
|
+
if (this.interceptor == null) {
|
|
167
|
+
// Create a new interceptor for the first time or recreate it if it
|
|
168
|
+
// was reset to `null` when its configuration changed
|
|
169
|
+
debug('Creating interceptor for %s with config', this.middlewareFactory.name, this.middlewareConfig);
|
|
170
|
+
this.interceptor = createInterceptor(this.middlewareFactory, this.middlewareConfig);
|
|
171
|
+
}
|
|
172
|
+
return this.interceptor(ctx, next);
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
tslib_1.__decorate([
|
|
177
|
+
core_1.inject.binding(),
|
|
178
|
+
tslib_1.__metadata("design:type", core_1.Binding)
|
|
179
|
+
], ExpressMiddlewareInterceptorProvider.prototype, "binding", void 0);
|
|
183
180
|
exports.ExpressMiddlewareInterceptorProvider = ExpressMiddlewareInterceptorProvider;
|
|
184
181
|
/**
|
|
185
182
|
* Define a provider class that wraps the middleware as an interceptor
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware-interceptor.js","sourceRoot":"","sources":["../src/middleware-interceptor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"middleware-interceptor.js","sourceRoot":"","sources":["../src/middleware-interceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Binding, BindingAddress, Constructor, Context, Provider } from '@loopback/core';
|
|
2
2
|
import { ExpressMiddlewareFactory, ExpressRequestHandler, Middleware, MiddlewareBindingOptions } from './types';
|
|
3
|
-
import
|
|
3
|
+
import * as loopbackContext from '@loopback/core';
|
|
4
4
|
/**
|
|
5
5
|
* A context that allows middleware registration
|
|
6
6
|
*/
|
|
@@ -58,37 +58,37 @@ declare const BaseMiddlewareRegistry_base: {
|
|
|
58
58
|
new (...args: any[]): {
|
|
59
59
|
expressMiddleware(key: BindingAddress<unknown>, middleware: ExpressRequestHandler | ExpressRequestHandler[], options?: MiddlewareBindingOptions | undefined): Binding<Middleware>;
|
|
60
60
|
expressMiddleware<CFG>(middlewareFactory: ExpressMiddlewareFactory<CFG>, middlewareConfig?: CFG | undefined, options?: MiddlewareBindingOptions | undefined): Binding<Middleware>;
|
|
61
|
-
expressMiddleware<CFG_1>(factoryOrKey: string | BindingKey<Middleware> | ExpressMiddlewareFactory<CFG_1>, configOrHandler: ExpressRequestHandler | ExpressRequestHandler[] | CFG_1, options?: MiddlewareBindingOptions | undefined): Binding<Middleware>;
|
|
61
|
+
expressMiddleware<CFG_1>(factoryOrKey: string | loopbackContext.BindingKey<Middleware> | ExpressMiddlewareFactory<CFG_1>, configOrHandler: ExpressRequestHandler | ExpressRequestHandler[] | CFG_1, options?: MiddlewareBindingOptions | undefined): Binding<Middleware>;
|
|
62
62
|
middleware(middleware: Middleware | Constructor<Provider<Middleware>>, options?: MiddlewareBindingOptions): Binding<Middleware>;
|
|
63
63
|
readonly name: string;
|
|
64
|
-
readonly subscriptionManager: ContextSubscriptionManager;
|
|
64
|
+
readonly subscriptionManager: loopbackContext.ContextSubscriptionManager;
|
|
65
65
|
readonly parent: Context | undefined;
|
|
66
|
-
emitEvent: <T extends ContextEvent>(type: string, event: T) => void;
|
|
66
|
+
emitEvent: <T extends loopbackContext.ContextEvent>(type: string, event: T) => void;
|
|
67
67
|
emitError: (err: unknown) => void;
|
|
68
68
|
bind: <ValueType = any>(key: BindingAddress<ValueType>) => Binding<ValueType>;
|
|
69
69
|
add: (binding: Binding<unknown>) => Context;
|
|
70
|
-
configure: <ConfigValueType = any>(key?: string | BindingKey<unknown> | undefined) => Binding<ConfigValueType>;
|
|
71
|
-
getConfigAsValueOrPromise: <ConfigValueType_1>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: ResolutionOptions | undefined) => ValueOrPromise<ConfigValueType_1 | undefined>;
|
|
72
|
-
getConfig: <ConfigValueType_2>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
|
|
73
|
-
getConfigSync: <ConfigValueType_3>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
|
|
70
|
+
configure: <ConfigValueType = any>(key?: string | loopbackContext.BindingKey<unknown> | undefined) => Binding<ConfigValueType>;
|
|
71
|
+
getConfigAsValueOrPromise: <ConfigValueType_1>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: loopbackContext.ResolutionOptions | undefined) => loopbackContext.ValueOrPromise<ConfigValueType_1 | undefined>;
|
|
72
|
+
getConfig: <ConfigValueType_2>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: loopbackContext.ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
|
|
73
|
+
getConfigSync: <ConfigValueType_3>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: loopbackContext.ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
|
|
74
74
|
unbind: (key: BindingAddress<unknown>) => boolean;
|
|
75
|
-
subscribe: (observer: ContextEventObserver) => Subscription;
|
|
76
|
-
unsubscribe: (observer: ContextEventObserver) => boolean;
|
|
75
|
+
subscribe: (observer: loopbackContext.ContextEventObserver) => loopbackContext.Subscription;
|
|
76
|
+
unsubscribe: (observer: loopbackContext.ContextEventObserver) => boolean;
|
|
77
77
|
close: () => void;
|
|
78
|
-
isSubscribed: (observer: ContextObserver) => boolean;
|
|
79
|
-
createView: <T_1 = unknown>(filter: BindingFilter, comparator?: BindingComparator | undefined) => ContextView<T_1>;
|
|
78
|
+
isSubscribed: (observer: loopbackContext.ContextObserver) => boolean;
|
|
79
|
+
createView: <T_1 = unknown>(filter: loopbackContext.BindingFilter, comparator?: loopbackContext.BindingComparator | undefined) => loopbackContext.ContextView<T_1>;
|
|
80
80
|
contains: (key: BindingAddress<unknown>) => boolean;
|
|
81
81
|
isBound: (key: BindingAddress<unknown>) => boolean;
|
|
82
82
|
getOwnerContext: (key: BindingAddress<unknown>) => Context | undefined;
|
|
83
|
-
find: <ValueType_1 = any>(pattern?: string | RegExp | BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
|
|
83
|
+
find: <ValueType_1 = any>(pattern?: string | RegExp | loopbackContext.BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
|
|
84
84
|
findByTag: <ValueType_2 = any>(tagFilter: string | RegExp | Record<string, any>) => Readonly<Binding<ValueType_2>>[];
|
|
85
85
|
get: {
|
|
86
|
-
<ValueType_3>(keyWithPath: BindingAddress<ValueType_3>, session?: ResolutionSession | undefined): Promise<ValueType_3>;
|
|
87
|
-
<ValueType_4>(keyWithPath: BindingAddress<ValueType_4>, options: ResolutionOptions): Promise<ValueType_4 | undefined>;
|
|
86
|
+
<ValueType_3>(keyWithPath: BindingAddress<ValueType_3>, session?: loopbackContext.ResolutionSession | undefined): Promise<ValueType_3>;
|
|
87
|
+
<ValueType_4>(keyWithPath: BindingAddress<ValueType_4>, options: loopbackContext.ResolutionOptions): Promise<ValueType_4 | undefined>;
|
|
88
88
|
};
|
|
89
89
|
getSync: {
|
|
90
|
-
<ValueType_5>(keyWithPath: BindingAddress<ValueType_5>, session?: ResolutionSession | undefined): ValueType_5;
|
|
91
|
-
<ValueType_6>(keyWithPath: BindingAddress<ValueType_6>, options?: ResolutionOptions | undefined): ValueType_6 | undefined;
|
|
90
|
+
<ValueType_5>(keyWithPath: BindingAddress<ValueType_5>, session?: loopbackContext.ResolutionSession | undefined): ValueType_5;
|
|
91
|
+
<ValueType_6>(keyWithPath: BindingAddress<ValueType_6>, options?: loopbackContext.ResolutionOptions | undefined): ValueType_6 | undefined;
|
|
92
92
|
};
|
|
93
93
|
getBinding: {
|
|
94
94
|
<ValueType_7 = any>(key: BindingAddress<ValueType_7>): Binding<ValueType_7>;
|
|
@@ -96,13 +96,19 @@ declare const BaseMiddlewareRegistry_base: {
|
|
|
96
96
|
optional?: boolean | undefined;
|
|
97
97
|
} | undefined): Binding<ValueType_8> | undefined;
|
|
98
98
|
};
|
|
99
|
-
findOrCreateBinding: <T_2>(key: BindingAddress<T_2>, policy?: BindingCreationPolicy | undefined) => Binding<T_2>;
|
|
100
|
-
getValueOrPromise: <ValueType_9>(keyWithPath: BindingAddress<ValueType_9>, optionsOrSession?: ResolutionOptions | ResolutionSession | undefined) => ValueOrPromise<ValueType_9 | undefined>;
|
|
101
|
-
toJSON: () => JSONObject;
|
|
102
|
-
inspect: (options?: ContextInspectOptions | undefined) => JSONObject;
|
|
99
|
+
findOrCreateBinding: <T_2>(key: BindingAddress<T_2>, policy?: loopbackContext.BindingCreationPolicy | undefined) => Binding<T_2>;
|
|
100
|
+
getValueOrPromise: <ValueType_9>(keyWithPath: BindingAddress<ValueType_9>, optionsOrSession?: loopbackContext.ResolutionOptions | loopbackContext.ResolutionSession | undefined) => loopbackContext.ValueOrPromise<ValueType_9 | undefined>;
|
|
101
|
+
toJSON: () => loopbackContext.JSONObject;
|
|
102
|
+
inspect: (options?: loopbackContext.ContextInspectOptions | undefined) => loopbackContext.JSONObject;
|
|
103
|
+
on: {
|
|
104
|
+
(eventName: "bind" | "unbind", listener: loopbackContext.ContextEventListener): Context;
|
|
105
|
+
(event: string | symbol, listener: (...args: any[]) => void): Context;
|
|
106
|
+
};
|
|
107
|
+
once: {
|
|
108
|
+
(eventName: "bind" | "unbind", listener: loopbackContext.ContextEventListener): Context;
|
|
109
|
+
(event: string | symbol, listener: (...args: any[]) => void): Context;
|
|
110
|
+
};
|
|
103
111
|
addListener: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
104
|
-
on: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
105
|
-
once: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
106
112
|
prependListener: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
107
113
|
prependOnceListener: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
108
114
|
removeListener: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware-registry.js","sourceRoot":"","sources":["../src/middleware-registry.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAMwB;AACxB,gEAA0D;
|
|
1
|
+
{"version":3,"file":"middleware-registry.js","sourceRoot":"","sources":["../src/middleware-registry.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAMwB;AACxB,gEAA0D;AAgF1D;;GAEG;AACH,MAAsB,sBAAuB,SAAQ,kCAAe,CAAC,cAAO,CAAC;CAAG;AAAhF,wDAAgF"}
|
package/dist/middleware.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Binding, BindingTemplate, Constructor, Context, InvocationResult, Provider, ValueOrPromise } from '@loopback/
|
|
1
|
+
import { Binding, BindingTemplate, Constructor, Context, InvocationResult, Provider, ValueOrPromise } from '@loopback/core';
|
|
2
2
|
import { ExpressMiddlewareFactory, ExpressRequestHandler, InvokeMiddlewareOptions, Middleware, MiddlewareBindingOptions, MiddlewareContext } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* An adapter function to create a LoopBack middleware that invokes the list
|
package/dist/middleware.js
CHANGED
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.toExpressMiddleware = exports.invokeExpressMiddleware = exports.invokeMiddleware = exports.createMiddlewareBinding = exports.registerMiddleware = exports.asMiddleware = exports.registerExpressMiddleware = exports.createMiddleware = exports.toMiddleware = void 0;
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
9
|
-
const context_1 = require("@loopback/context");
|
|
10
9
|
const core_1 = require("@loopback/core");
|
|
11
10
|
const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
12
11
|
const keys_1 = require("./keys");
|
|
@@ -96,12 +95,12 @@ exports.asMiddleware = asMiddleware;
|
|
|
96
95
|
*/
|
|
97
96
|
function registerMiddleware(ctx, middleware, options) {
|
|
98
97
|
var _a;
|
|
99
|
-
if (
|
|
98
|
+
if (core_1.isProviderClass(middleware)) {
|
|
100
99
|
const binding = createMiddlewareBinding(middleware, options);
|
|
101
100
|
ctx.add(binding);
|
|
102
101
|
return binding;
|
|
103
102
|
}
|
|
104
|
-
const key = (_a = options.key) !== null && _a !== void 0 ? _a :
|
|
103
|
+
const key = (_a = options.key) !== null && _a !== void 0 ? _a : core_1.BindingKey.generate(keys_1.MIDDLEWARE_NAMESPACE);
|
|
105
104
|
return ctx
|
|
106
105
|
.bind(key)
|
|
107
106
|
.to(middleware)
|
|
@@ -118,8 +117,8 @@ exports.registerMiddleware = registerMiddleware;
|
|
|
118
117
|
function createMiddlewareBinding(middlewareProviderClass, options = {}) {
|
|
119
118
|
var _a;
|
|
120
119
|
options.chain = (_a = options.chain) !== null && _a !== void 0 ? _a : types_1.DEFAULT_MIDDLEWARE_CHAIN;
|
|
121
|
-
const binding =
|
|
122
|
-
defaultScope:
|
|
120
|
+
const binding = core_1.createBindingFromClass(middlewareProviderClass, {
|
|
121
|
+
defaultScope: core_1.BindingScope.TRANSIENT,
|
|
123
122
|
namespace: keys_1.MIDDLEWARE_NAMESPACE,
|
|
124
123
|
key: options.key,
|
|
125
124
|
}).apply(asMiddleware(options));
|
|
@@ -141,8 +140,8 @@ function invokeMiddleware(middlewareCtx, options) {
|
|
|
141
140
|
if (debug.enabled) {
|
|
142
141
|
debug('Middleware for extension point "%s":', chain, middlewareCtx.find(filter).map(b => b.key));
|
|
143
142
|
}
|
|
144
|
-
const
|
|
145
|
-
return
|
|
143
|
+
const mwChain = new types_1.MiddlewareChain(middlewareCtx, filter, core_1.compareBindingsByTag('group', orderedGroups));
|
|
144
|
+
return mwChain.invokeInterceptors(options === null || options === void 0 ? void 0 : options.next);
|
|
146
145
|
}
|
|
147
146
|
exports.invokeMiddleware = invokeMiddleware;
|
|
148
147
|
/**
|
|
@@ -183,7 +182,7 @@ function invokeExpressMiddleware(middlewareCtx, ...handlers) {
|
|
|
183
182
|
// Invoke the middleware with a no-op next()
|
|
184
183
|
const result = middleware(middlewareCtx, () => undefined);
|
|
185
184
|
// Check if the response is finished
|
|
186
|
-
return
|
|
185
|
+
return core_1.transformValueOrPromise(result, val => val === middlewareCtx.response);
|
|
187
186
|
}
|
|
188
187
|
exports.invokeExpressMiddleware = invokeExpressMiddleware;
|
|
189
188
|
/**
|
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
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Binding, BindingAddress, Constructor, Context, MixinTarget, Provider } from '@loopback/core';
|
|
2
2
|
import { ExpressMiddlewareFactory, ExpressRequestHandler, Middleware, MiddlewareBindingOptions } from '../types';
|
|
3
|
-
import
|
|
3
|
+
import * as loopbackContext from '@loopback/core';
|
|
4
4
|
export declare function MiddlewareMixin<T extends MixinTarget<Context>>(superClass: T): {
|
|
5
5
|
new (...args: any[]): {
|
|
6
6
|
/**
|
|
@@ -53,7 +53,7 @@ export declare function MiddlewareMixin<T extends MixinTarget<Context>>(superCla
|
|
|
53
53
|
* @param middleware - Express middleware handler function(s)
|
|
54
54
|
*
|
|
55
55
|
*/
|
|
56
|
-
expressMiddleware<CFG_1>(factoryOrKey: string | BindingKey<Middleware> | ExpressMiddlewareFactory<CFG_1>, configOrHandler: ExpressRequestHandler | ExpressRequestHandler[] | CFG_1, options?: MiddlewareBindingOptions | undefined): Binding<Middleware>;
|
|
56
|
+
expressMiddleware<CFG_1>(factoryOrKey: string | loopbackContext.BindingKey<Middleware> | ExpressMiddlewareFactory<CFG_1>, configOrHandler: ExpressRequestHandler | ExpressRequestHandler[] | CFG_1, options?: MiddlewareBindingOptions | undefined): Binding<Middleware>;
|
|
57
57
|
/**
|
|
58
58
|
* Register a middleware function or provider class
|
|
59
59
|
*
|
|
@@ -70,34 +70,34 @@ export declare function MiddlewareMixin<T extends MixinTarget<Context>>(superCla
|
|
|
70
70
|
*/
|
|
71
71
|
middleware(middleware: Middleware | Constructor<Provider<Middleware>>, options?: MiddlewareBindingOptions): Binding<Middleware>;
|
|
72
72
|
readonly name: string;
|
|
73
|
-
readonly subscriptionManager: ContextSubscriptionManager;
|
|
73
|
+
readonly subscriptionManager: loopbackContext.ContextSubscriptionManager;
|
|
74
74
|
readonly parent: Context | undefined;
|
|
75
|
-
emitEvent: <T_1 extends ContextEvent>(type: string, event: T_1) => void;
|
|
75
|
+
emitEvent: <T_1 extends loopbackContext.ContextEvent>(type: string, event: T_1) => void;
|
|
76
76
|
emitError: (err: unknown) => void;
|
|
77
77
|
bind: <ValueType = any>(key: BindingAddress<ValueType>) => Binding<ValueType>;
|
|
78
78
|
add: (binding: Binding<unknown>) => Context;
|
|
79
|
-
configure: <ConfigValueType = any>(key?: string | BindingKey<unknown> | undefined) => Binding<ConfigValueType>;
|
|
80
|
-
getConfigAsValueOrPromise: <ConfigValueType_1>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: ResolutionOptions | undefined) => ValueOrPromise<ConfigValueType_1 | undefined>;
|
|
81
|
-
getConfig: <ConfigValueType_2>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
|
|
82
|
-
getConfigSync: <ConfigValueType_3>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
|
|
79
|
+
configure: <ConfigValueType = any>(key?: string | loopbackContext.BindingKey<unknown> | undefined) => Binding<ConfigValueType>;
|
|
80
|
+
getConfigAsValueOrPromise: <ConfigValueType_1>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: loopbackContext.ResolutionOptions | undefined) => loopbackContext.ValueOrPromise<ConfigValueType_1 | undefined>;
|
|
81
|
+
getConfig: <ConfigValueType_2>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: loopbackContext.ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
|
|
82
|
+
getConfigSync: <ConfigValueType_3>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: loopbackContext.ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
|
|
83
83
|
unbind: (key: BindingAddress<unknown>) => boolean;
|
|
84
|
-
subscribe: (observer: ContextEventObserver) => Subscription;
|
|
85
|
-
unsubscribe: (observer: ContextEventObserver) => boolean;
|
|
84
|
+
subscribe: (observer: loopbackContext.ContextEventObserver) => loopbackContext.Subscription;
|
|
85
|
+
unsubscribe: (observer: loopbackContext.ContextEventObserver) => boolean;
|
|
86
86
|
close: () => void;
|
|
87
|
-
isSubscribed: (observer: ContextObserver) => boolean;
|
|
88
|
-
createView: <T_2 = unknown>(filter: BindingFilter, comparator?: BindingComparator | undefined) => ContextView<T_2>;
|
|
87
|
+
isSubscribed: (observer: loopbackContext.ContextObserver) => boolean;
|
|
88
|
+
createView: <T_2 = unknown>(filter: loopbackContext.BindingFilter, comparator?: loopbackContext.BindingComparator | undefined) => loopbackContext.ContextView<T_2>;
|
|
89
89
|
contains: (key: BindingAddress<unknown>) => boolean;
|
|
90
90
|
isBound: (key: BindingAddress<unknown>) => boolean;
|
|
91
91
|
getOwnerContext: (key: BindingAddress<unknown>) => Context | undefined;
|
|
92
|
-
find: <ValueType_1 = any>(pattern?: string | RegExp | BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
|
|
92
|
+
find: <ValueType_1 = any>(pattern?: string | RegExp | loopbackContext.BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
|
|
93
93
|
findByTag: <ValueType_2 = any>(tagFilter: string | RegExp | Record<string, any>) => Readonly<Binding<ValueType_2>>[];
|
|
94
94
|
get: {
|
|
95
|
-
<ValueType_3>(keyWithPath: BindingAddress<ValueType_3>, session?: ResolutionSession | undefined): Promise<ValueType_3>;
|
|
96
|
-
<ValueType_4>(keyWithPath: BindingAddress<ValueType_4>, options: ResolutionOptions): Promise<ValueType_4 | undefined>;
|
|
95
|
+
<ValueType_3>(keyWithPath: BindingAddress<ValueType_3>, session?: loopbackContext.ResolutionSession | undefined): Promise<ValueType_3>;
|
|
96
|
+
<ValueType_4>(keyWithPath: BindingAddress<ValueType_4>, options: loopbackContext.ResolutionOptions): Promise<ValueType_4 | undefined>;
|
|
97
97
|
};
|
|
98
98
|
getSync: {
|
|
99
|
-
<ValueType_5>(keyWithPath: BindingAddress<ValueType_5>, session?: ResolutionSession | undefined): ValueType_5;
|
|
100
|
-
<ValueType_6>(keyWithPath: BindingAddress<ValueType_6>, options?: ResolutionOptions | undefined): ValueType_6 | undefined;
|
|
99
|
+
<ValueType_5>(keyWithPath: BindingAddress<ValueType_5>, session?: loopbackContext.ResolutionSession | undefined): ValueType_5;
|
|
100
|
+
<ValueType_6>(keyWithPath: BindingAddress<ValueType_6>, options?: loopbackContext.ResolutionOptions | undefined): ValueType_6 | undefined;
|
|
101
101
|
};
|
|
102
102
|
getBinding: {
|
|
103
103
|
<ValueType_7 = any>(key: BindingAddress<ValueType_7>): Binding<ValueType_7>;
|
|
@@ -105,13 +105,19 @@ export declare function MiddlewareMixin<T extends MixinTarget<Context>>(superCla
|
|
|
105
105
|
optional?: boolean | undefined;
|
|
106
106
|
} | undefined): Binding<ValueType_8> | undefined;
|
|
107
107
|
};
|
|
108
|
-
findOrCreateBinding: <T_3>(key: BindingAddress<T_3>, policy?: BindingCreationPolicy | undefined) => Binding<T_3>;
|
|
109
|
-
getValueOrPromise: <ValueType_9>(keyWithPath: BindingAddress<ValueType_9>, optionsOrSession?: ResolutionOptions | ResolutionSession | undefined) => ValueOrPromise<ValueType_9 | undefined>;
|
|
110
|
-
toJSON: () => JSONObject;
|
|
111
|
-
inspect: (options?: ContextInspectOptions | undefined) => JSONObject;
|
|
108
|
+
findOrCreateBinding: <T_3>(key: BindingAddress<T_3>, policy?: loopbackContext.BindingCreationPolicy | undefined) => Binding<T_3>;
|
|
109
|
+
getValueOrPromise: <ValueType_9>(keyWithPath: BindingAddress<ValueType_9>, optionsOrSession?: loopbackContext.ResolutionOptions | loopbackContext.ResolutionSession | undefined) => loopbackContext.ValueOrPromise<ValueType_9 | undefined>;
|
|
110
|
+
toJSON: () => loopbackContext.JSONObject;
|
|
111
|
+
inspect: (options?: loopbackContext.ContextInspectOptions | undefined) => loopbackContext.JSONObject;
|
|
112
|
+
on: {
|
|
113
|
+
(eventName: "bind" | "unbind", listener: loopbackContext.ContextEventListener): Context;
|
|
114
|
+
(event: string | symbol, listener: (...args: any[]) => void): Context;
|
|
115
|
+
};
|
|
116
|
+
once: {
|
|
117
|
+
(eventName: "bind" | "unbind", listener: loopbackContext.ContextEventListener): Context;
|
|
118
|
+
(event: string | symbol, listener: (...args: any[]) => void): Context;
|
|
119
|
+
};
|
|
112
120
|
addListener: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
113
|
-
on: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
114
|
-
once: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
115
121
|
prependListener: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
116
122
|
prependOnceListener: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
117
123
|
removeListener: (event: string | symbol, listener: (...args: any[]) => void) => Context;
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
exports.MiddlewareMixin = void 0;
|
|
8
8
|
const core_1 = require("@loopback/core");
|
|
9
9
|
const middleware_1 = require("../middleware");
|
|
10
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
10
11
|
function extendsFrom(subClass, baseClass) {
|
|
11
12
|
let cls = subClass;
|
|
12
13
|
while (cls) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.mixin.js","sourceRoot":"","sources":["../../src/mixins/middleware.mixin.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAQwB;AACxB,8CAIuB;
|
|
1
|
+
{"version":3,"file":"middleware.mixin.js","sourceRoot":"","sources":["../../src/mixins/middleware.mixin.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAQwB;AACxB,8CAIuB;AAYvB,qDAAqD;AAErD,SAAS,WAAW,CAClB,QAA8B,EAC9B,SAA+B;IAE/B,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,OAAO,GAAG,EAAE;QACV,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACnC,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;KAClC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,eAAe,CAAiC,UAAa;IAC3E,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,cAAO,CAAC,EAAE;QACrC,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;KACrE;IACD,OAAO,KAAM,SAAQ,UAAU;QAuD7B;;;WAGG;QACH,iBAAiB,CACf,YAAwE,EACxE,gBAAuE,EACvE,UAAoC,EAAE;YAEtC,MAAM,GAAG,GAAG,YAA0C,CAAC;YACvD,IAAI,uBAAgB,CAAC,GAAG,CAAC,EAAE;gBACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC9C,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,CAAC,gBAAyC,CAAC,CAAC;gBAChD,oDAAoD;gBACpD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;oBACzB,MAAM,IAAI,KAAK,CACb,qDAAqD,CACtD,CAAC;iBACH;gBACD,OAAO,+BAAkB,CACtB,IAA2B,EAC5B,yBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC/C;oBACE,GAAG,OAAO;oBACV,GAAG;iBACJ,CACF,CAAC;aACH;iBAAM;gBACL,OAAO,sCAAyB,CAC7B,IAA2B,EAC5B,YAA6C,EAC7C,gBAAuB,EACvB,OAAO,CACR,CAAC;aACH;QACH,CAAC;QAED;;;;;;;;;;;;;WAaG;QACH,UAAU,CACR,UAA0D,EAC1D,UAAoC,EAAE;YAEtC,OAAO,+BAAkB,CACtB,IAA2B,EAC5B,UAAU,EACV,OAAO,CACR,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AA1HD,0CA0HC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright IBM Corp. 2020. All Rights Reserved.
|
|
3
|
-
// Node module: @loopback/
|
|
3
|
+
// Node module: @loopback/express
|
|
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 });
|
|
@@ -15,53 +15,51 @@ const debug = debug_1.default('loopback:rest:middleware');
|
|
|
15
15
|
/**
|
|
16
16
|
* Extension point for middleware to be run as part of the sequence actions
|
|
17
17
|
*/
|
|
18
|
-
let InvokeMiddlewareProvider =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var _a, _b;
|
|
33
|
-
if (Array.isArray(optionsOrHandlers)) {
|
|
34
|
-
return this.action(middlewareCtx, optionsOrHandlers);
|
|
35
|
-
}
|
|
36
|
-
const options = optionsOrHandlers;
|
|
37
|
-
let chain = options === null || options === void 0 ? void 0 : options.chain;
|
|
38
|
-
const orderedGroups = options === null || options === void 0 ? void 0 : options.orderedGroups;
|
|
39
|
-
chain = (_b = chain !== null && chain !== void 0 ? chain : (_a = this.binding) === null || _a === void 0 ? void 0 : _a.tagMap[core_1.CoreTags.EXTENSION_POINT]) !== null && _b !== void 0 ? _b : this.defaultOptions.chain;
|
|
40
|
-
return this.action(middlewareCtx, {
|
|
41
|
-
chain,
|
|
42
|
-
orderedGroups: orderedGroups !== null && orderedGroups !== void 0 ? orderedGroups : this.defaultOptions.orderedGroups,
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
async action(middlewareCtx, optionsOrHandlers) {
|
|
18
|
+
let InvokeMiddlewareProvider = class InvokeMiddlewareProvider {
|
|
19
|
+
constructor() {
|
|
20
|
+
/**
|
|
21
|
+
* Default options for invoking the middleware chain
|
|
22
|
+
*/
|
|
23
|
+
this.defaultOptions = {
|
|
24
|
+
chain: types_1.DEFAULT_MIDDLEWARE_CHAIN,
|
|
25
|
+
orderedGroups: ['cors', 'apiSpec', keys_1.DEFAULT_MIDDLEWARE_GROUP],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
value() {
|
|
29
|
+
debug('Binding', this.binding);
|
|
30
|
+
return (middlewareCtx, optionsOrHandlers) => {
|
|
31
|
+
var _a, _b;
|
|
47
32
|
if (Array.isArray(optionsOrHandlers)) {
|
|
48
|
-
return
|
|
33
|
+
return this.action(middlewareCtx, optionsOrHandlers);
|
|
49
34
|
}
|
|
50
|
-
|
|
35
|
+
const options = optionsOrHandlers;
|
|
36
|
+
let chain = options === null || options === void 0 ? void 0 : options.chain;
|
|
37
|
+
const orderedGroups = options === null || options === void 0 ? void 0 : options.orderedGroups;
|
|
38
|
+
chain = (_b = chain !== null && chain !== void 0 ? chain : (_a = this.binding) === null || _a === void 0 ? void 0 : _a.tagMap[core_1.CoreTags.EXTENSION_POINT]) !== null && _b !== void 0 ? _b : this.defaultOptions.chain;
|
|
39
|
+
return this.action(middlewareCtx, {
|
|
40
|
+
...options,
|
|
41
|
+
chain,
|
|
42
|
+
orderedGroups: orderedGroups !== null && orderedGroups !== void 0 ? orderedGroups : this.defaultOptions.orderedGroups,
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
async action(middlewareCtx, optionsOrHandlers) {
|
|
47
|
+
if (Array.isArray(optionsOrHandlers)) {
|
|
48
|
+
return middleware_1.invokeExpressMiddleware(middlewareCtx, ...optionsOrHandlers);
|
|
51
49
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
tslib_1.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
50
|
+
return middleware_1.invokeMiddleware(middlewareCtx, optionsOrHandlers);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
tslib_1.__decorate([
|
|
54
|
+
core_1.inject.binding(),
|
|
55
|
+
tslib_1.__metadata("design:type", core_1.Binding)
|
|
56
|
+
], InvokeMiddlewareProvider.prototype, "binding", void 0);
|
|
57
|
+
tslib_1.__decorate([
|
|
58
|
+
core_1.config(),
|
|
59
|
+
tslib_1.__metadata("design:type", Object)
|
|
60
|
+
], InvokeMiddlewareProvider.prototype, "defaultOptions", void 0);
|
|
61
|
+
InvokeMiddlewareProvider = tslib_1.__decorate([
|
|
62
|
+
core_1.extensionPoint(types_1.DEFAULT_MIDDLEWARE_CHAIN)
|
|
63
|
+
], InvokeMiddlewareProvider);
|
|
66
64
|
exports.InvokeMiddlewareProvider = InvokeMiddlewareProvider;
|
|
67
65
|
//# sourceMappingURL=invoke-middleware.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke-middleware.provider.js","sourceRoot":"","sources":["../../src/providers/invoke-middleware.provider.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"invoke-middleware.provider.js","sourceRoot":"","sources":["../../src/providers/invoke-middleware.provider.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAOwB;AACxB,0DAAiC;AACjC,kCAAiD;AACjD,8CAAwE;AACxE,oCAMkB;AAClB,MAAM,KAAK,GAAG,eAAY,CAAC,0BAA0B,CAAC,CAAC;AAEvD;;GAEG;AAEH,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;IAArC;QAOE;;WAEG;QAEO,mBAAc,GAA4B;YAClD,KAAK,EAAE,gCAAwB;YAC/B,aAAa,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,+BAAwB,CAAC;SAC7D,CAAC;IAmCJ,CAAC;IAjCC,KAAK;QACH,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,CACL,aAAgC,EAChC,iBAAqE,EACrE,EAAE;;YACF,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;gBACpC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;aACtD;YACD,MAAM,OAAO,GAAG,iBAAiB,CAAC;YAClC,IAAI,KAAK,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;YAC3B,MAAM,aAAa,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC;YAC7C,KAAK,SACH,KAAK,aAAL,KAAK,cAAL,KAAK,SACL,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAC,eAAQ,CAAC,eAAe,oCAC7C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBAChC,GAAG,OAAO;gBACV,KAAK;gBACL,aAAa,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,CAAC,cAAc,CAAC,aAAa;aAClE,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,aAAgC,EAChC,iBAAqE;QAErE,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;YACpC,OAAO,oCAAuB,CAAC,aAAa,EAAE,GAAG,iBAAiB,CAAC,CAAC;SACrE;QACD,OAAO,6BAAgB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AA5CC;IADC,aAAM,CAAC,OAAO,EAAE;sCACE,cAAO;yDAAmB;AAM7C;IADC,aAAM,EAAE;;gEAIP;AAdS,wBAAwB;IADpC,qBAAc,CAAC,gCAAwB,CAAC;GAC5B,wBAAwB,CAiDpC;AAjDY,4DAAwB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/express",
|
|
3
|
-
"version": "1.2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.2.5",
|
|
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",
|
|
7
7
|
"keywords": [
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"loopback"
|
|
10
10
|
],
|
|
11
11
|
"engines": {
|
|
12
|
-
"node": ">=10"
|
|
12
|
+
"node": ">=10.16"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
15
|
"build": "lb-tsc",
|
|
@@ -25,7 +25,11 @@
|
|
|
25
25
|
"directory": "packages/express"
|
|
26
26
|
},
|
|
27
27
|
"author": "IBM Corp.",
|
|
28
|
+
"copyright.owner": "IBM Corp.",
|
|
28
29
|
"license": "MIT",
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
},
|
|
29
33
|
"files": [
|
|
30
34
|
"README.md",
|
|
31
35
|
"dist",
|
|
@@ -33,33 +37,28 @@
|
|
|
33
37
|
"!*/__tests__"
|
|
34
38
|
],
|
|
35
39
|
"dependencies": {
|
|
36
|
-
"@loopback/
|
|
37
|
-
"@loopback/
|
|
38
|
-
"@loopback/http-server": "^2.1.5",
|
|
40
|
+
"@loopback/core": "^2.9.1",
|
|
41
|
+
"@loopback/http-server": "^2.1.9",
|
|
39
42
|
"@types/body-parser": "^1.19.0",
|
|
40
43
|
"@types/express": "^4.17.6",
|
|
41
|
-
"@types/express-serve-static-core": "^4.17.
|
|
44
|
+
"@types/express-serve-static-core": "^4.17.8",
|
|
42
45
|
"@types/http-errors": "^1.6.3",
|
|
43
46
|
"body-parser": "^1.19.0",
|
|
44
47
|
"debug": "^4.1.1",
|
|
45
48
|
"express": "^4.17.1",
|
|
46
|
-
"http-errors": "^1.
|
|
49
|
+
"http-errors": "^1.8.0",
|
|
47
50
|
"on-finished": "^2.3.0",
|
|
48
51
|
"tslib": "^2.0.0"
|
|
49
52
|
},
|
|
50
53
|
"devDependencies": {
|
|
51
|
-
"@loopback/build": "^
|
|
52
|
-
"@loopback/testlab": "^3.
|
|
54
|
+
"@loopback/build": "^6.1.0",
|
|
55
|
+
"@loopback/testlab": "^3.2.0",
|
|
53
56
|
"@types/debug": "^4.1.5",
|
|
54
|
-
"@types/node": "^10.17.
|
|
57
|
+
"@types/node": "^10.17.26",
|
|
55
58
|
"@types/on-finished": "^2.3.1",
|
|
56
|
-
"http-errors": "^1.
|
|
59
|
+
"http-errors": "^1.8.0",
|
|
57
60
|
"source-map-support": "^0.5.19",
|
|
58
|
-
"typescript": "~3.9.
|
|
59
|
-
},
|
|
60
|
-
"copyright.owner": "IBM Corp.",
|
|
61
|
-
"publishConfig": {
|
|
62
|
-
"access": "public"
|
|
61
|
+
"typescript": "~3.9.5"
|
|
63
62
|
},
|
|
64
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "b89db3d3b8be6a36e63e91c2331d217fda7538de"
|
|
65
64
|
}
|
package/src/express.server.ts
CHANGED
|
@@ -95,7 +95,7 @@ export class ExpressServer extends BaseMiddlewareRegistry implements Server {
|
|
|
95
95
|
* will be 'http://localhost:3000' regardless of the `basePath`.
|
|
96
96
|
*/
|
|
97
97
|
get rootUrl(): string | undefined {
|
|
98
|
-
return this.httpServer
|
|
98
|
+
return this.httpServer?.url;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
async start() {
|
package/src/keys.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// This file is licensed under the MIT License.
|
|
4
4
|
// License text available at https://opensource.org/licenses/MIT
|
|
5
5
|
|
|
6
|
-
import {BindingKey} from '@loopback/
|
|
6
|
+
import {BindingKey} from '@loopback/core';
|
|
7
7
|
import {MiddlewareContext} from './types';
|
|
8
8
|
|
|
9
9
|
export namespace MiddlewareBindings {
|
|
@@ -20,25 +20,8 @@ import {
|
|
|
20
20
|
|
|
21
21
|
// FIXME(rfeng): Workaround for https://github.com/microsoft/rushstack/pull/1867
|
|
22
22
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
23
|
-
import
|
|
24
|
-
|
|
25
|
-
ContextSubscriptionManager,
|
|
26
|
-
ContextEvent,
|
|
27
|
-
Interceptor,
|
|
28
|
-
InterceptorBindingOptions,
|
|
29
|
-
ResolutionOptions,
|
|
30
|
-
BindingKey,
|
|
31
|
-
BindingFilter,
|
|
32
|
-
ValueOrPromise,
|
|
33
|
-
ContextEventObserver,
|
|
34
|
-
ContextObserver,
|
|
35
|
-
Subscription,
|
|
36
|
-
BindingComparator,
|
|
37
|
-
ContextView,
|
|
38
|
-
ResolutionSession,
|
|
39
|
-
BindingCreationPolicy,
|
|
40
|
-
ContextInspectOptions,
|
|
41
|
-
} from '@loopback/context';
|
|
23
|
+
import * as loopbackContext from '@loopback/core';
|
|
24
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
42
25
|
|
|
43
26
|
/**
|
|
44
27
|
* A context that allows middleware registration
|
package/src/middleware.ts
CHANGED
|
@@ -12,13 +12,14 @@ import {
|
|
|
12
12
|
Constructor,
|
|
13
13
|
Context,
|
|
14
14
|
createBindingFromClass,
|
|
15
|
+
extensionFilter,
|
|
16
|
+
extensionFor,
|
|
15
17
|
InvocationResult,
|
|
16
18
|
isProviderClass,
|
|
17
19
|
Provider,
|
|
18
20
|
transformValueOrPromise,
|
|
19
21
|
ValueOrPromise,
|
|
20
|
-
} from '@loopback/
|
|
21
|
-
import {extensionFilter, extensionFor} from '@loopback/core';
|
|
22
|
+
} from '@loopback/core';
|
|
22
23
|
import debugFactory from 'debug';
|
|
23
24
|
import {DEFAULT_MIDDLEWARE_GROUP, MIDDLEWARE_NAMESPACE} from './keys';
|
|
24
25
|
import {
|
|
@@ -208,12 +209,12 @@ export function invokeMiddleware(
|
|
|
208
209
|
middlewareCtx.find(filter).map(b => b.key),
|
|
209
210
|
);
|
|
210
211
|
}
|
|
211
|
-
const
|
|
212
|
+
const mwChain = new MiddlewareChain(
|
|
212
213
|
middlewareCtx,
|
|
213
214
|
filter,
|
|
214
215
|
compareBindingsByTag('group', orderedGroups),
|
|
215
216
|
);
|
|
216
|
-
return
|
|
217
|
+
return mwChain.invokeInterceptors(options?.next);
|
|
217
218
|
}
|
|
218
219
|
|
|
219
220
|
/**
|
|
@@ -27,25 +27,8 @@ import {
|
|
|
27
27
|
|
|
28
28
|
// FIXME(rfeng): Workaround for https://github.com/microsoft/rushstack/pull/1867
|
|
29
29
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
30
|
-
import
|
|
31
|
-
|
|
32
|
-
ContextSubscriptionManager,
|
|
33
|
-
ContextEvent,
|
|
34
|
-
Interceptor,
|
|
35
|
-
InterceptorBindingOptions,
|
|
36
|
-
ResolutionOptions,
|
|
37
|
-
BindingKey,
|
|
38
|
-
BindingFilter,
|
|
39
|
-
ValueOrPromise,
|
|
40
|
-
ContextEventObserver,
|
|
41
|
-
ContextObserver,
|
|
42
|
-
Subscription,
|
|
43
|
-
BindingComparator,
|
|
44
|
-
ContextView,
|
|
45
|
-
ResolutionSession,
|
|
46
|
-
BindingCreationPolicy,
|
|
47
|
-
ContextInspectOptions,
|
|
48
|
-
} from '@loopback/context';
|
|
30
|
+
import * as loopbackContext from '@loopback/core';
|
|
31
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
49
32
|
|
|
50
33
|
function extendsFrom(
|
|
51
34
|
subClass: Constructor<unknown>,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Copyright IBM Corp. 2020. All Rights Reserved.
|
|
2
|
-
// Node module: @loopback/
|
|
2
|
+
// Node module: @loopback/express
|
|
3
3
|
// This file is licensed under the MIT License.
|
|
4
4
|
// License text available at https://opensource.org/licenses/MIT
|
|
5
5
|
|
|
@@ -60,6 +60,7 @@ export class InvokeMiddlewareProvider implements Provider<InvokeMiddleware> {
|
|
|
60
60
|
this.binding?.tagMap[CoreTags.EXTENSION_POINT] ??
|
|
61
61
|
this.defaultOptions.chain;
|
|
62
62
|
return this.action(middlewareCtx, {
|
|
63
|
+
...options,
|
|
63
64
|
chain,
|
|
64
65
|
orderedGroups: orderedGroups ?? this.defaultOptions.orderedGroups,
|
|
65
66
|
});
|