@loopback/express 1.2.2 → 1.2.6
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 +9 -3
- package/dist/middleware.d.ts +1 -1
- package/dist/middleware.js +6 -7
- package/dist/middleware.js.map +1 -1
- package/dist/mixins/middleware.mixin.d.ts +9 -3
- package/dist/providers/invoke-middleware.provider.js +43 -45
- package/dist/providers/invoke-middleware.provider.js.map +1 -1
- package/package.json +19 -20
- package/src/express.server.ts +1 -1
- package/src/keys.ts +1 -1
- package/src/middleware-registry.ts +1 -1
- package/src/middleware.ts +3 -2
- package/src/mixins/middleware.mixin.ts +1 -1
- package/src/providers/invoke-middleware.provider.ts +1 -0
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.6](https://github.com/strongloop/loopback-next/compare/@loopback/express@1.2.5...@loopback/express@1.2.6) (2020-07-20)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @loopback/express
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [1.2.5](https://github.com/strongloop/loopback-next/compare/@loopback/express@1.2.4...@loopback/express@1.2.5) (2020-06-30)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @loopback/express
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [1.2.4](https://github.com/strongloop/loopback-next/compare/@loopback/express@1.2.3...@loopback/express@1.2.4) (2020-06-23)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* set node version to >=10.16 to support events.once ([e39da1c](https://github.com/strongloop/loopback-next/commit/e39da1ca47728eafaf83c10ce35b09b03b6a4edc))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## [1.2.3](https://github.com/strongloop/loopback-next/compare/@loopback/express@1.2.2...@loopback/express@1.2.3) (2020-06-11)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Bug Fixes
|
|
37
|
+
|
|
38
|
+
* **express:** ensure options are honored for `invokeMiddleware` resolved from the provider ([b80fcf8](https://github.com/strongloop/loopback-next/commit/b80fcf873fc5213a4d031b7684ddd4bd9ec90f8f))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
6
44
|
## [1.2.2](https://github.com/strongloop/loopback-next/compare/@loopback/express@1.2.1...@loopback/express@1.2.2) (2020-05-28)
|
|
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 * as loopbackContext from '@loopback/
|
|
3
|
+
import * as loopbackContext from '@loopback/core';
|
|
4
4
|
/**
|
|
5
5
|
* A context that allows middleware registration
|
|
6
6
|
*/
|
|
@@ -100,9 +100,15 @@ declare const BaseMiddlewareRegistry_base: {
|
|
|
100
100
|
getValueOrPromise: <ValueType_9>(keyWithPath: BindingAddress<ValueType_9>, optionsOrSession?: loopbackContext.ResolutionOptions | loopbackContext.ResolutionSession | undefined) => loopbackContext.ValueOrPromise<ValueType_9 | undefined>;
|
|
101
101
|
toJSON: () => loopbackContext.JSONObject;
|
|
102
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;
|
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,7 +140,7 @@ 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 mwChain = new types_1.MiddlewareChain(middlewareCtx, filter,
|
|
143
|
+
const mwChain = new types_1.MiddlewareChain(middlewareCtx, filter, core_1.compareBindingsByTag('group', orderedGroups));
|
|
145
144
|
return mwChain.invokeInterceptors(options === null || options === void 0 ? void 0 : options.next);
|
|
146
145
|
}
|
|
147
146
|
exports.invokeMiddleware = invokeMiddleware;
|
|
@@ -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":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAgBwB;AACxB,0DAAiC;AACjC,iCAAsE;AACtE,qEAIkC;AAClC,mCAUiB;AAEjB,MAAM,KAAK,GAAG,eAAY,CAAC,qBAAqB,CAAC,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,SAAgB,YAAY,CAC1B,YAAmC,EACnC,GAAG,kBAA2C;IAE9C,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,sCAAa,CAAC,YAAY,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,GAAG,kBAAkB,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAC5C,sCAAa,CAAoB,OAAO,CAAC,CAC1C,CAAC;IACF,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE;QAC7B,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;SAC/C;QACD,MAAM,eAAe,GAAG,IAAI,uBAAe,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAC3E,OAAO,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC;AAhBD,oCAgBC;AAED;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAC9B,iBAAgD,EAChD,gBAAsB;IAEtB,OAAO,0CAAiB,CACtB,iBAAiB,EACjB,gBAAgB,CACjB,CAAC;AACJ,CAAC;AARD,4CAQC;AAED;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CACvC,GAAY,EACZ,iBAAgD,EAChD,gBAAsB,EACtB,UAAoC,EAAE;;IAEtC,OAAO,GAAG,EAAC,mBAAmB,EAAE,IAAI,EAAE,GAAG,OAAO,EAAC,CAAC;IAClD,OAAO,CAAC,KAAK,SAAG,OAAO,CAAC,KAAK,mCAAI,gCAAwB,CAAC;IAC1D,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QACzE,OAAO,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;KACrD;IAED,MAAM,aAAa,GAAG,kDAAyB,CAC7C,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,CACR,CAAC;IACF,OAAO,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAnBD,8DAmBC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAC1B,UAAoC,EAAE;IAEtC,OAAO,SAAS,yBAAyB,CAAC,OAAO;;QAC/C,OAAO;aACJ,KAAK,CAAC,mBAAY,OAAC,OAAO,CAAC,KAAK,mCAAI,gCAAwB,CAAC,CAAC;aAC9D,GAAG,CAAC,EAAC,KAAK,QAAE,OAAO,CAAC,KAAK,mCAAI,+BAAwB,EAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC;AARD,oCAQC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,GAAY,EACZ,UAA0D,EAC1D,OAAiC;;IAEjC,IAAI,sBAAe,CAAC,UAA+C,CAAC,EAAE;QACpE,MAAM,OAAO,GAAG,uBAAuB,CACrC,UAA+C,EAC/C,OAAO,CACR,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,OAAO,CAAC;KAChB;IACD,MAAM,GAAG,SAAG,OAAO,CAAC,GAAG,mCAAI,iBAAU,CAAC,QAAQ,CAAC,2BAAoB,CAAC,CAAC;IACrE,OAAO,GAAG;SACP,IAAI,CAAC,GAAG,CAAC;SACT,EAAE,CAAC,UAAwB,CAAC;SAC5B,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,CAAC;AAlBD,gDAkBC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,uBAA0D,EAC1D,UAAoC,EAAE;;IAEtC,OAAO,CAAC,KAAK,SAAG,OAAO,CAAC,KAAK,mCAAI,gCAAwB,CAAC;IAC1D,MAAM,OAAO,GAAG,6BAAsB,CAAC,uBAAuB,EAAE;QAC9D,YAAY,EAAE,mBAAY,CAAC,SAAS;QACpC,SAAS,EAAE,2BAAoB;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,OAAO,OAAO,CAAC;AACjB,CAAC;AAXD,0DAWC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,aAAgC,EAChC,OAAiC;IAEjC,KAAK,CACH,gDAAgD,EAChD,aAAa,CAAC,OAAO,CAAC,MAAM,EAC5B,aAAa,CAAC,OAAO,CAAC,WAAW,EACjC,OAAO,CACR,CAAC;IACF,MAAM,EAAC,KAAK,GAAG,gCAAwB,EAAE,aAAa,EAAC,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxE,wDAAwD;IACxD,MAAM,MAAM,GAAG,sBAAe,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,KAAK,CACH,sCAAsC,EACtC,KAAK,EACL,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAC3C,CAAC;KACH;IACD,MAAM,OAAO,GAAG,IAAI,uBAAe,CACjC,aAAa,EACb,MAAM,EACN,2BAAoB,CAAC,OAAO,EAAE,aAAa,CAAC,CAC7C,CAAC;IACF,OAAO,OAAO,CAAC,kBAAkB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;AACnD,CAAC;AA1BD,4CA0BC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAgB,uBAAuB,CACrC,aAAgC,EAChC,GAAG,QAAiC;IAEpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;KACxE;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,KAAK,CACH,qCAAqC,EACrC,aAAa,CAAC,OAAO,CAAC,MAAM,EAC5B,aAAa,CAAC,OAAO,CAAC,WAAW,CAClC,CAAC;IACF,4CAA4C;IAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1D,oCAAoC;IACpC,OAAO,8BAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChF,CAAC;AAjBD,0DAiBC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,GAAY;IAC9C,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,aAAa,GAAG,IAAI,yBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3D,iDAAiD;QACjD,8DAA8D;QAC7D,GAAW,CAAC,0BAAkB,CAAC,GAAG,aAAa,CAAC;QAEjD,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,MAAM,KAAK,GAAG,EAAE;gBAClB,IAAI,EAAE,CAAC;aACR;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,CAAC;SACX;IACH,CAAC,CAAC;AACJ,CAAC;AAhBD,kDAgBC"}
|
|
@@ -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 * as loopbackContext from '@loopback/
|
|
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
|
/**
|
|
@@ -109,9 +109,15 @@ export declare function MiddlewareMixin<T extends MixinTarget<Context>>(superCla
|
|
|
109
109
|
getValueOrPromise: <ValueType_9>(keyWithPath: BindingAddress<ValueType_9>, optionsOrSession?: loopbackContext.ResolutionOptions | loopbackContext.ResolutionSession | undefined) => loopbackContext.ValueOrPromise<ValueType_9 | undefined>;
|
|
110
110
|
toJSON: () => loopbackContext.JSONObject;
|
|
111
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;
|
|
@@ -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,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
|
|
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.6",
|
|
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.6",
|
|
40
|
+
"@loopback/core": "^2.9.2",
|
|
41
|
+
"@loopback/http-server": "^2.1.10",
|
|
39
42
|
"@types/body-parser": "^1.19.0",
|
|
40
|
-
"@types/express": "^4.17.
|
|
41
|
-
"@types/express-serve-static-core": "^4.17.
|
|
42
|
-
"@types/http-errors": "^1.
|
|
43
|
+
"@types/express": "^4.17.7",
|
|
44
|
+
"@types/express-serve-static-core": "^4.17.8",
|
|
45
|
+
"@types/http-errors": "^1.8.0",
|
|
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.1
|
|
54
|
+
"@loopback/build": "^6.1.1",
|
|
55
|
+
"@loopback/testlab": "^3.2.1",
|
|
53
56
|
"@types/debug": "^4.1.5",
|
|
54
|
-
"@types/node": "^10.17.
|
|
57
|
+
"@types/node": "^10.17.27",
|
|
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.7"
|
|
63
62
|
},
|
|
64
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "5538896411bb56467ae52670a29d1aec1690be74"
|
|
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,7 +20,7 @@ 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 * as loopbackContext from '@loopback/
|
|
23
|
+
import * as loopbackContext from '@loopback/core';
|
|
24
24
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
25
25
|
|
|
26
26
|
/**
|
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 {
|
|
@@ -27,7 +27,7 @@ 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 * as loopbackContext from '@loopback/
|
|
30
|
+
import * as loopbackContext from '@loopback/core';
|
|
31
31
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
32
32
|
|
|
33
33
|
function extendsFrom(
|
|
@@ -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
|
});
|