@loopback/express 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
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
+ # [2.1.0](https://github.com/strongloop/loopback-next/compare/@loopback/express@2.0.1...@loopback/express@2.1.0) (2020-10-07)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **express:** make sure middleware group name from `[@bind](https://github.com/bind)` is preserved ([1a170e5](https://github.com/strongloop/loopback-next/commit/1a170e59ed8d549fe37d33a4ba9e8bdf2b74ac0d))
12
+
13
+
14
+ ### Features
15
+
16
+ * **context:** introduce new binding scopes ([9916cfd](https://github.com/strongloop/loopback-next/commit/9916cfd4449a870f7a3378e2e674957aed7c1626))
17
+
18
+
19
+
20
+
21
+
6
22
  ## [2.0.1](https://github.com/strongloop/loopback-next/compare/@loopback/express@2.0.0...@loopback/express@2.0.1) (2020-09-17)
7
23
 
8
24
  **Note:** Version bump only for package @loopback/express
@@ -22,6 +22,7 @@ let ExpressServer = class ExpressServer extends middleware_registry_1.BaseMiddle
22
22
  var _a;
23
23
  super(parent);
24
24
  this.config = config;
25
+ this.scope = core_1.BindingScope.SERVER;
25
26
  let basePath = (_a = config === null || config === void 0 ? void 0 : config.basePath) !== null && _a !== void 0 ? _a : '';
26
27
  // Trim leading and trailing `/`
27
28
  basePath = basePath.replace(/(^\/)|(\/$)/, '');
@@ -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,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"}
1
+ {"version":3,"file":"express.server.js","sourceRoot":"","sources":["../src/express.server.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAMwB;AACxB,uDAA4E;AAC5E,0DAAiC;AACjC,8DAA8B;AAC9B,6CAAiD;AACjD,+DAA6D;AAC7D,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,CAAC,KAAK,GAAG,mBAAY,CAAC,MAAM,CAAC;QACjC,IAAI,QAAQ,SAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,EAAE,CAAC;QACtC,gCAAgC;QAChC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,QAAQ;YAAE,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,CAAC,UAAU,GAAG,iBAAO,EAAE,CAAC;QAC5B,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE;YACpB,KAAK,MAAM,CAAC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE;gBAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;aAC7C;SACF;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAE1D,4DAA4D;QAC5D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,gCAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,IAAI,GAAG;QACL,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACjC,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;;QACT,aAAO,IAAI,CAAC,UAAU,0CAAE,GAAG,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,KAAK,CAAC,+BAA+B,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,OAAgB;QACnC,8DAA8D;QAC9D,OAAQ,OAAe,CAAC,0BAAkB,CAAC,CAAC;IAC9C,CAAC;CACF,CAAA;AAtFY,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,CAsFzB;AAtFY,sCAAa"}
@@ -62,6 +62,7 @@ declare const BaseMiddlewareRegistry_base: {
62
62
  middleware(middleware: Middleware | Constructor<Provider<Middleware>>, options?: MiddlewareBindingOptions): Binding<Middleware>;
63
63
  readonly name: string;
64
64
  readonly subscriptionManager: loopbackContext.ContextSubscriptionManager;
65
+ scope: loopbackContext.BindingScope;
65
66
  readonly parent: Context | undefined;
66
67
  emitEvent: <T extends loopbackContext.ContextEvent>(type: string, event: T) => void;
67
68
  emitError: (err: unknown) => void;
@@ -79,7 +80,10 @@ declare const BaseMiddlewareRegistry_base: {
79
80
  createView: <T_1 = unknown>(filter: loopbackContext.BindingFilter, comparator?: loopbackContext.BindingComparator | undefined) => loopbackContext.ContextView<T_1>;
80
81
  contains: (key: BindingAddress<unknown>) => boolean;
81
82
  isBound: (key: BindingAddress<unknown>) => boolean;
82
- getOwnerContext: (key: BindingAddress<unknown>) => Context | undefined;
83
+ getOwnerContext: (keyOrBinding: string | loopbackContext.BindingKey<unknown> | Readonly<Binding<unknown>>) => Context | undefined;
84
+ getScopedContext: (scope: loopbackContext.BindingScope.APPLICATION | loopbackContext.BindingScope.SERVER | loopbackContext.BindingScope.REQUEST) => Context | undefined;
85
+ getResolutionContext: (binding: Readonly<Binding<unknown>>) => Context | undefined;
86
+ isVisibleTo: (ctx: Context) => boolean;
83
87
  find: <ValueType_1 = any>(pattern?: string | RegExp | loopbackContext.BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
84
88
  findByTag: <ValueType_2 = any>(tagFilter: string | RegExp | Record<string, any>) => Readonly<Binding<ValueType_2>>[];
85
89
  get: {
@@ -82,9 +82,10 @@ exports.registerExpressMiddleware = registerExpressMiddleware;
82
82
  function asMiddleware(options = {}) {
83
83
  return function middlewareBindingTemplate(binding) {
84
84
  var _a, _b;
85
- binding
86
- .apply(core_1.extensionFor((_a = options.chain) !== null && _a !== void 0 ? _a : types_1.DEFAULT_MIDDLEWARE_CHAIN))
87
- .tag({ group: (_b = options.group) !== null && _b !== void 0 ? _b : keys_1.DEFAULT_MIDDLEWARE_GROUP });
85
+ binding.apply(core_1.extensionFor((_a = options.chain) !== null && _a !== void 0 ? _a : types_1.DEFAULT_MIDDLEWARE_CHAIN));
86
+ if (!binding.tagMap.group) {
87
+ binding.tag({ group: (_b = options.group) !== null && _b !== void 0 ? _b : keys_1.DEFAULT_MIDDLEWARE_GROUP });
88
+ }
88
89
  const groupsBefore = options.upstreamGroups;
89
90
  if (groupsBefore != null) {
90
91
  binding.tag({
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,7 @@ export declare function MiddlewareMixin<T extends MixinTarget<Context>>(superCla
71
71
  middleware(middleware: Middleware | Constructor<Provider<Middleware>>, options?: MiddlewareBindingOptions): Binding<Middleware>;
72
72
  readonly name: string;
73
73
  readonly subscriptionManager: loopbackContext.ContextSubscriptionManager;
74
+ scope: loopbackContext.BindingScope;
74
75
  readonly parent: Context | undefined;
75
76
  emitEvent: <T_1 extends loopbackContext.ContextEvent>(type: string, event: T_1) => void;
76
77
  emitError: (err: unknown) => void;
@@ -88,7 +89,10 @@ export declare function MiddlewareMixin<T extends MixinTarget<Context>>(superCla
88
89
  createView: <T_2 = unknown>(filter: loopbackContext.BindingFilter, comparator?: loopbackContext.BindingComparator | undefined) => loopbackContext.ContextView<T_2>;
89
90
  contains: (key: BindingAddress<unknown>) => boolean;
90
91
  isBound: (key: BindingAddress<unknown>) => boolean;
91
- getOwnerContext: (key: BindingAddress<unknown>) => Context | undefined;
92
+ getOwnerContext: (keyOrBinding: string | loopbackContext.BindingKey<unknown> | Readonly<Binding<unknown>>) => Context | undefined;
93
+ getScopedContext: (scope: loopbackContext.BindingScope.APPLICATION | loopbackContext.BindingScope.SERVER | loopbackContext.BindingScope.REQUEST) => Context | undefined;
94
+ getResolutionContext: (binding: Readonly<Binding<unknown>>) => Context | undefined;
95
+ isVisibleTo: (ctx: Context) => boolean;
92
96
  find: <ValueType_1 = any>(pattern?: string | RegExp | loopbackContext.BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
93
97
  findByTag: <ValueType_2 = any>(tagFilter: string | RegExp | Record<string, any>) => Readonly<Binding<ValueType_2>>[];
94
98
  get: {
package/dist/types.js CHANGED
@@ -31,6 +31,7 @@ class MiddlewareContext extends core_1.Context {
31
31
  * A flag to tell if the response is finished.
32
32
  */
33
33
  this.responseFinished = false;
34
+ this.scope = core_1.BindingScope.REQUEST;
34
35
  this.setupBindings();
35
36
  on_finished_1.default(this.response, () => {
36
37
  this.responseFinished = true;
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCASwB;AAExB,sEAAqC;AACrC,iCAA0C;AAE1C,mCAAiE;AAAtC,iGAAA,MAAM,OAAA;AAgBjC;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,cAAO;IAM5C;;;;;;OAMG;IACH,YACkB,OAAgB,EAChB,QAAkB,EAClC,MAAgB,EAChB,IAAa;QAEb,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QALJ,YAAO,GAAP,OAAO,CAAS;QAChB,aAAQ,GAAR,QAAQ,CAAU;QAdpC;;WAEG;QACH,qBAAgB,GAAG,KAAK,CAAC;QAgBvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,qBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,uEAAuE;YACvE,2BAA2B;YAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAES,aAAa;QACrB,IAAI,CAAC,IAAI,CAAC,yBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;CACF;AAjCD,8CAiCC;AAmDD;;;GAGG;AACH,MAAa,eAAgB,SAAQ,8BAEpC;CAAG;AAFJ,0CAEI;AAOJ;;GAEG;AACU,QAAA,wBAAwB,GAAG,yBAAyB,CAAC;AAwKlE;;GAEG;AACU,QAAA,kBAAkB,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAExE;;GAEG;AACH,IAAiB,gBAAgB,CAgBhC;AAhBD,WAAiB,gBAAgB;IAC/B;;OAEG;IACU,qBAAI,GAAG,MAAM,CAAC;IAE3B;;OAEG;IACU,yBAAQ,GAAG,SAAS,CAAC;IAElC;;OAEG;IACU,2BAAU,GAAG,YAAY,CAAC;IAC1B,wBAAO,GAAG,iBAAA,UAAU,CAAC;AACpC,CAAC,EAhBgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAgBhC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAUwB;AAExB,sEAAqC;AACrC,iCAA0C;AAE1C,mCAAiE;AAAtC,iGAAA,MAAM,OAAA;AAgBjC;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,cAAO;IAM5C;;;;;;OAMG;IACH,YACkB,OAAgB,EAChB,QAAkB,EAClC,MAAgB,EAChB,IAAa;QAEb,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QALJ,YAAO,GAAP,OAAO,CAAS;QAChB,aAAQ,GAAR,QAAQ,CAAU;QAdpC;;WAEG;QACH,qBAAgB,GAAG,KAAK,CAAC;QAgBvB,IAAI,CAAC,KAAK,GAAG,mBAAY,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,qBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,uEAAuE;YACvE,2BAA2B;YAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAES,aAAa;QACrB,IAAI,CAAC,IAAI,CAAC,yBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;CACF;AAlCD,8CAkCC;AAmDD;;;GAGG;AACH,MAAa,eAAgB,SAAQ,8BAEpC;CAAG;AAFJ,0CAEI;AAOJ;;GAEG;AACU,QAAA,wBAAwB,GAAG,yBAAyB,CAAC;AAwKlE;;GAEG;AACU,QAAA,kBAAkB,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAExE;;GAEG;AACH,IAAiB,gBAAgB,CAgBhC;AAhBD,WAAiB,gBAAgB;IAC/B;;OAEG;IACU,qBAAI,GAAG,MAAM,CAAC;IAE3B;;OAEG;IACU,yBAAQ,GAAG,SAAS,CAAC;IAElC;;OAEG;IACU,2BAAU,GAAG,YAAY,CAAC;IAC1B,wBAAO,GAAG,iBAAA,UAAU,CAAC;AACpC,CAAC,EAhBgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAgBhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loopback/express",
3
- "version": "2.0.1",
3
+ "version": "2.1.0",
4
4
  "description": "Integrate with Express and expose middleware infrastructure for sequence and interceptors",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -9,7 +9,7 @@
9
9
  "loopback"
10
10
  ],
11
11
  "engines": {
12
- "node": ">=10.16"
12
+ "node": "^10.16 || 12 || 14"
13
13
  },
14
14
  "scripts": {
15
15
  "build": "lb-tsc",
@@ -37,33 +37,33 @@
37
37
  "!*/__tests__"
38
38
  ],
39
39
  "peerDependencies": {
40
- "@loopback/core": "^2.10.1"
40
+ "@loopback/core": "^2.11.0"
41
41
  },
42
42
  "dependencies": {
43
- "@loopback/http-server": "^2.2.2",
43
+ "@loopback/http-server": "^2.3.0",
44
44
  "@types/body-parser": "^1.19.0",
45
45
  "@types/express": "^4.17.8",
46
- "@types/express-serve-static-core": "^4.17.12",
46
+ "@types/express-serve-static-core": "^4.17.13",
47
47
  "@types/http-errors": "^1.8.0",
48
48
  "body-parser": "^1.19.0",
49
- "debug": "^4.1.1",
49
+ "debug": "^4.2.0",
50
50
  "express": "^4.17.1",
51
51
  "http-errors": "^1.8.0",
52
52
  "on-finished": "^2.3.0",
53
53
  "toposort": "^2.0.2",
54
- "tslib": "^2.0.1"
54
+ "tslib": "^2.0.2"
55
55
  },
56
56
  "devDependencies": {
57
- "@loopback/build": "^6.2.4",
58
- "@loopback/core": "^2.10.1",
59
- "@loopback/testlab": "^3.2.6",
57
+ "@loopback/build": "^6.2.5",
58
+ "@loopback/core": "^2.11.0",
59
+ "@loopback/testlab": "^3.2.7",
60
60
  "@types/debug": "^4.1.5",
61
61
  "@types/node": "^10.17.35",
62
62
  "@types/on-finished": "^2.3.1",
63
63
  "@types/toposort": "^2.0.3",
64
64
  "http-errors": "^1.8.0",
65
65
  "source-map-support": "^0.5.19",
66
- "typescript": "~4.0.2"
66
+ "typescript": "~4.0.3"
67
67
  },
68
- "gitHead": "79327fd7e68ebb05be0aa689f4986b54e2a99a6b"
68
+ "gitHead": "390f2794d10eea3d969ae417963af815ce1bc417"
69
69
  }
@@ -3,7 +3,13 @@
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 {Context, CoreBindings, inject, Server} from '@loopback/core';
6
+ import {
7
+ BindingScope,
8
+ Context,
9
+ CoreBindings,
10
+ inject,
11
+ Server,
12
+ } from '@loopback/core';
7
13
  import {HttpOptions, HttpServer, HttpsOptions} from '@loopback/http-server';
8
14
  import debugFactory from 'debug';
9
15
  import express from 'express';
@@ -51,6 +57,7 @@ export class ExpressServer extends BaseMiddlewareRegistry implements Server {
51
57
  parent?: Context,
52
58
  ) {
53
59
  super(parent);
60
+ this.scope = BindingScope.SERVER;
54
61
  let basePath = config?.basePath ?? '';
55
62
  // Trim leading and trailing `/`
56
63
  basePath = basePath.replace(/(^\/)|(\/$)/, '');
package/src/middleware.ts CHANGED
@@ -132,9 +132,11 @@ export function asMiddleware(
132
132
  options: MiddlewareBindingOptions = {},
133
133
  ): BindingTemplate {
134
134
  return function middlewareBindingTemplate(binding) {
135
- binding
136
- .apply(extensionFor(options.chain ?? DEFAULT_MIDDLEWARE_CHAIN))
137
- .tag({group: options.group ?? DEFAULT_MIDDLEWARE_GROUP});
135
+ binding.apply(extensionFor(options.chain ?? DEFAULT_MIDDLEWARE_CHAIN));
136
+
137
+ if (!binding.tagMap.group) {
138
+ binding.tag({group: options.group ?? DEFAULT_MIDDLEWARE_GROUP});
139
+ }
138
140
  const groupsBefore = options.upstreamGroups;
139
141
  if (groupsBefore != null) {
140
142
  binding.tag({
package/src/types.ts CHANGED
@@ -5,6 +5,7 @@
5
5
 
6
6
  import {
7
7
  BindingAddress,
8
+ BindingScope,
8
9
  Context,
9
10
  GenericInterceptor,
10
11
  GenericInterceptorChain,
@@ -57,6 +58,7 @@ export class MiddlewareContext extends Context implements HandlerContext {
57
58
  name?: string,
58
59
  ) {
59
60
  super(parent, name);
61
+ this.scope = BindingScope.REQUEST;
60
62
  this.setupBindings();
61
63
  onFinished(this.response, () => {
62
64
  this.responseFinished = true;