@eggjs/tegg-controller-plugin 1.3.3 → 1.5.1

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,39 @@
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.5.1](https://github.com/eggjs/tegg/compare/@eggjs/tegg-controller-plugin@1.5.0...@eggjs/tegg-controller-plugin@1.5.1) (2022-08-17)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * fix rootProtoManager.registerRootProto ([f416ed7](https://github.com/eggjs/tegg/commit/f416ed70af1c46d31ebf712b208205d67337d958))
12
+
13
+
14
+
15
+
16
+
17
+ # [1.5.0](https://github.com/eggjs/tegg/compare/@eggjs/tegg-controller-plugin@1.4.1...@eggjs/tegg-controller-plugin@1.5.0) (2022-08-16)
18
+
19
+
20
+ ### Features
21
+
22
+ * impl Host decorator ([#48](https://github.com/eggjs/tegg/issues/48)) ([65dc7a8](https://github.com/eggjs/tegg/commit/65dc7a899ba72dd0851c35046562766d7f2b71b6))
23
+
24
+
25
+
26
+
27
+
28
+ # [1.4.0](https://github.com/eggjs/tegg/compare/@eggjs/tegg-controller-plugin@1.3.3...@eggjs/tegg-controller-plugin@1.4.0) (2022-07-28)
29
+
30
+
31
+ ### Features
32
+
33
+ * middleware decorator allow multi middleware function ([#46](https://github.com/eggjs/tegg/issues/46)) ([a4b55f7](https://github.com/eggjs/tegg/commit/a4b55f7065c3d78e2c98c4b05f01871f666542ef))
34
+
35
+
36
+
37
+
38
+
6
39
  ## [1.3.3](https://github.com/eggjs/tegg/compare/@eggjs/tegg-controller-plugin@1.3.2...@eggjs/tegg-controller-plugin@1.3.3) (2022-07-20)
7
40
 
8
41
  **Note:** Version bump only for package @eggjs/tegg-controller-plugin
package/README.md CHANGED
@@ -42,6 +42,7 @@ exports.teggController = {
42
42
  ## Usage
43
43
 
44
44
  ### Middleware
45
+ Middleware 支持多个入参,依次传入要生效的中间件
45
46
  中间件注解,可以添加在类/方法上。添加在类上时,对类上所有方法生效,添加在方法上时,只对当前方法生效。
46
47
 
47
48
  ```ts
@@ -53,13 +54,17 @@ export default async function globalLog(ctx: Context, next: any) {
53
54
  return next();
54
55
  }
55
56
 
57
+ export default async function globalLog2(ctx: Context, next: any) {
58
+ ctx.logger.info('have a request2');
59
+ return next();
60
+ }
61
+
56
62
  // app/controller/FooController.ts
57
63
  import { Middleware } from '@eggjs/tegg';
58
-
59
- @Middleware(globalLog)
64
+ @Middleware(globalLog,globalLog2)
60
65
  export class FooController {
61
-
62
66
  @Middleware(methodCount)
67
+
63
68
  async hello() {
64
69
  }
65
70
  }
@@ -188,3 +193,23 @@ export class FooController {
188
193
  // 具体 name 值可以查看 path-to-regexp
189
194
  @HTTPParam({ name: '0' }) id: string
190
195
  ```
196
+
197
+ ### Host
198
+ Host 注解,用于指定 HTTP 方法仅在 host 匹配时执行。
199
+ 可以添加在类/方法上。添加在类上时,对类上所有方法生效,添加在方法上时,只对当前方法生效。方法上的注解可以覆盖类上的注解
200
+
201
+ ```ts
202
+ // app/controller/FooController.ts
203
+ import { Host } from '@eggjs/tegg';
204
+ @Host('foo.eggjs.com')
205
+ export class FooController {
206
+ // 仅能通过 foo.eggjs.com 访问
207
+ async hello() {
208
+ }
209
+
210
+ // 仅能通过 bar.eggjs.com 访问
211
+ @Host('bar.eggjs.com')
212
+ async bar() {
213
+ }
214
+ }
215
+ ```
@@ -3,6 +3,6 @@ import { EggContext } from '@eggjs/tegg';
3
3
  export declare type GetRootProtoCallback = (ctx: EggContext) => EggPrototype | undefined;
4
4
  export declare class RootProtoManager {
5
5
  protoMap: Map<string, GetRootProtoCallback[]>;
6
- registerRootProto(method: string, cb: GetRootProtoCallback): void;
6
+ registerRootProto(method: string, cb: GetRootProtoCallback, host: string): void;
7
7
  getRootProto(ctx: EggContext): EggPrototype | undefined;
8
8
  }
@@ -7,11 +7,21 @@ class RootProtoManager {
7
7
  // <method, GetRootProtoCallback[]>
8
8
  this.protoMap = new Map();
9
9
  }
10
- registerRootProto(method, cb) {
11
- const cbList = tegg_common_util_1.MapUtil.getOrStore(this.protoMap, method, []);
10
+ registerRootProto(method, cb, host) {
11
+ host = host || '';
12
+ const cbList = tegg_common_util_1.MapUtil.getOrStore(this.protoMap, method + host, []);
12
13
  cbList.push(cb);
13
14
  }
14
15
  getRootProto(ctx) {
16
+ const hostCbList = this.protoMap.get(ctx.method + ctx.host);
17
+ if (hostCbList) {
18
+ for (const cb of hostCbList) {
19
+ const proto = cb(ctx);
20
+ if (proto) {
21
+ return proto;
22
+ }
23
+ }
24
+ }
15
25
  const cbList = this.protoMap.get(ctx.method);
16
26
  if (!cbList) {
17
27
  return;
@@ -25,4 +35,4 @@ class RootProtoManager {
25
35
  }
26
36
  }
27
37
  exports.RootProtoManager = RootProtoManager;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm9vdFByb3RvTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlJvb3RQcm90b01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsOERBQWtEO0FBSWxELE1BQWEsZ0JBQWdCO0lBQTdCO1FBQ0UsbUNBQW1DO1FBQ25DLGFBQVEsR0FBd0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQW1CNUQsQ0FBQztJQWpCQyxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsRUFBd0I7UUFDeEQsTUFBTSxNQUFNLEdBQUcsMEJBQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0QsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQWU7UUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPO1NBQ1I7UUFDRCxLQUFLLE1BQU0sRUFBRSxJQUFJLE1BQU0sRUFBRTtZQUN2QixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEIsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO0lBQ0gsQ0FBQztDQUNGO0FBckJELDRDQXFCQyJ9
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm9vdFByb3RvTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlJvb3RQcm90b01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsOERBQWtEO0FBSWxELE1BQWEsZ0JBQWdCO0lBQTdCO1FBQ0UsbUNBQW1DO1FBQ25DLGFBQVEsR0FBd0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQThCNUQsQ0FBQztJQTVCQyxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsRUFBd0IsRUFBRSxJQUFZO1FBQ3RFLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLDBCQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxZQUFZLENBQUMsR0FBZTtRQUMxQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxJQUFJLFVBQVUsRUFBRTtZQUNkLEtBQUssTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFO2dCQUMzQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RCLElBQUksS0FBSyxFQUFFO29CQUNULE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7U0FDRjtRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTztTQUNSO1FBQ0QsS0FBSyxNQUFNLEVBQUUsSUFBSSxNQUFNLEVBQUU7WUFDdkIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLElBQUksS0FBSyxFQUFFO2dCQUNULE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjtJQUNILENBQUM7Q0FDRjtBQWhDRCw0Q0FnQ0MifQ==
@@ -8,6 +8,7 @@ import { RootProtoManager } from '../../RootProtoManager';
8
8
  export declare class HTTPControllerRegister implements ControllerRegister {
9
9
  static instance?: HTTPControllerRegister;
10
10
  private readonly router;
11
+ private readonly checkRouters;
11
12
  private readonly eggContainerFactory;
12
13
  private controllerProtos;
13
14
  static create(proto: EggPrototype, controllerMeta: ControllerMetadata, app: Application): HTTPControllerRegister;
@@ -11,6 +11,8 @@ class HTTPControllerRegister {
11
11
  constructor(router, eggContainerFactory) {
12
12
  this.controllerProtos = [];
13
13
  this.router = router;
14
+ this.checkRouters = new Map();
15
+ this.checkRouters.set('default', router);
14
16
  this.eggContainerFactory = eggContainerFactory;
15
17
  }
16
18
  static create(proto, controllerMeta, app) {
@@ -28,6 +30,7 @@ class HTTPControllerRegister {
28
30
  static clean() {
29
31
  if (this.instance) {
30
32
  this.instance.controllerProtos = [];
33
+ this.instance.checkRouters.clear();
31
34
  }
32
35
  this.instance = undefined;
33
36
  }
@@ -44,10 +47,16 @@ class HTTPControllerRegister {
44
47
  for (const method of allMethods) {
45
48
  const controllerProto = methodMap.get(method);
46
49
  const controllerMeta = controllerProto.getMetaData(tegg_1.CONTROLLER_META_DATA);
47
- const methodRegister = new HTTPMethodRegister_1.HTTPMethodRegister(controllerProto, controllerMeta, method, this.router, this.eggContainerFactory);
50
+ const methodRegister = new HTTPMethodRegister_1.HTTPMethodRegister(controllerProto, controllerMeta, method, this.router, this.checkRouters, this.eggContainerFactory);
51
+ methodRegister.checkDuplicate();
52
+ }
53
+ for (const method of allMethods) {
54
+ const controllerProto = methodMap.get(method);
55
+ const controllerMeta = controllerProto.getMetaData(tegg_1.CONTROLLER_META_DATA);
56
+ const methodRegister = new HTTPMethodRegister_1.HTTPMethodRegister(controllerProto, controllerMeta, method, this.router, this.checkRouters, this.eggContainerFactory);
48
57
  methodRegister.register(rootProtoManager);
49
58
  }
50
59
  }
51
60
  }
52
61
  exports.HTTPControllerRegister = HTTPControllerRegister;
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXJSZWdpc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkhUVFBDb250cm9sbGVyUmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBRzVCLHNDQU1xQjtBQUdyQiw2REFBMEQ7QUFJMUQsTUFBYSxzQkFBc0I7SUFnQmpDLFlBQVksTUFBK0IsRUFBRSxtQkFBK0M7UUFYcEYscUJBQWdCLEdBQW1CLEVBQUUsQ0FBQztRQVk1QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7SUFDakQsQ0FBQztJQVpELE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBbUIsRUFBRSxjQUFrQyxFQUFFLEdBQWdCO1FBQ3JGLElBQUEsZ0JBQU0sRUFBQyxjQUFjLENBQUMsSUFBSSxLQUFLLHFCQUFjLENBQUMsSUFBSSxFQUFFLGtDQUFrQyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtZQUNwQyxzQkFBc0IsQ0FBQyxRQUFRLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ25HO1FBQ0Qsc0JBQXNCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxPQUFPLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBT0QsUUFBUTtRQUNOLFlBQVk7UUFDWixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7U0FDckM7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLGdCQUFrQztRQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBZ0MsQ0FBQztRQUMxRCxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLDJCQUFvQixDQUF1QixDQUFDO1lBQy9FLEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRTtnQkFDckMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDOUI7U0FDRjtRQUNELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzVDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLEtBQUssTUFBTSxNQUFNLElBQUksVUFBVSxFQUFFO1lBQy9CLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFFLENBQUM7WUFDL0MsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQywyQkFBb0IsQ0FBdUIsQ0FBQztZQUMvRixNQUFNLGNBQWMsR0FBRyxJQUFJLHVDQUFrQixDQUMzQyxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2xGLGNBQWMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7Q0FDRjtBQW5ERCx3REFtREMifQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXJSZWdpc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkhUVFBDb250cm9sbGVyUmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBRzVCLHNDQU1xQjtBQUdyQiw2REFBMEQ7QUFJMUQsTUFBYSxzQkFBc0I7SUFpQmpDLFlBQVksTUFBK0IsRUFBRSxtQkFBK0M7UUFYcEYscUJBQWdCLEdBQW1CLEVBQUUsQ0FBQztRQVk1QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNqRCxDQUFDO0lBZEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFtQixFQUFFLGNBQWtDLEVBQUUsR0FBZ0I7UUFDckYsSUFBQSxnQkFBTSxFQUFDLGNBQWMsQ0FBQyxJQUFJLEtBQUsscUJBQWMsQ0FBQyxJQUFJLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFO1lBQ3BDLHNCQUFzQixDQUFDLFFBQVEsR0FBRyxJQUFJLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDbkc7UUFDRCxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdELE9BQU8sc0JBQXNCLENBQUMsUUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFTRCxRQUFRO1FBQ04sWUFBWTtRQUNaLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNwQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO0lBQzVCLENBQUM7SUFFRCxVQUFVLENBQUMsZ0JBQWtDO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO1FBQzFELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsMkJBQW9CLENBQXVCLENBQUM7WUFDL0UsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO2dCQUNyQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQzthQUM5QjtTQUNGO1FBQ0QsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDNUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0MsS0FBSyxNQUFNLE1BQU0sSUFBSSxVQUFVLEVBQUU7WUFDL0IsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUUsQ0FBQztZQUMvQyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLDJCQUFvQixDQUF1QixDQUFDO1lBQy9GLE1BQU0sY0FBYyxHQUFHLElBQUksdUNBQWtCLENBQzNDLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNyRyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDakM7UUFFRCxLQUFLLE1BQU0sTUFBTSxJQUFJLFVBQVUsRUFBRTtZQUMvQixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBRSxDQUFDO1lBQy9DLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsMkJBQW9CLENBQXVCLENBQUM7WUFDL0YsTUFBTSxjQUFjLEdBQUcsSUFBSSx1Q0FBa0IsQ0FDM0MsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3JHLGNBQWMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7Q0FDRjtBQWhFRCx3REFnRUMifQ==
@@ -6,11 +6,15 @@ import { EggPrototype } from '@eggjs/tegg-metadata';
6
6
  import { RootProtoManager } from '../../RootProtoManager';
7
7
  export declare class HTTPMethodRegister {
8
8
  private readonly router;
9
+ private readonly checkRouters;
9
10
  private readonly controllerMeta;
10
11
  private readonly methodMeta;
11
12
  private readonly proto;
12
13
  private readonly eggContainerFactory;
13
- constructor(proto: EggPrototype, controllerMeta: HTTPControllerMeta, methodMeta: HTTPMethodMeta, router: KoaRouter<any, Context>, eggContainerFactory: typeof EggContainerFactory);
14
+ constructor(proto: EggPrototype, controllerMeta: HTTPControllerMeta, methodMeta: HTTPMethodMeta, router: KoaRouter<any, Context>, checkRouters: Map<string, KoaRouter<any, Context>>, eggContainerFactory: typeof EggContainerFactory);
14
15
  private createHandler;
16
+ checkDuplicate(): void;
17
+ private registerToRouter;
18
+ private checkDuplicateInRouter;
15
19
  register(rootProtoManager: RootProtoManager): void;
16
20
  }
@@ -11,21 +11,30 @@ const path_to_regexp_1 = __importDefault(require("path-to-regexp"));
11
11
  const Acl_1 = require("./Acl");
12
12
  const errors_1 = require("../../errors");
13
13
  const egg_errors_1 = require("egg-errors");
14
+ const router_1 = require("@eggjs/router");
15
+ const noop = () => {
16
+ // ...
17
+ };
14
18
  class HTTPMethodRegister {
15
- constructor(proto, controllerMeta, methodMeta, router, eggContainerFactory) {
19
+ constructor(proto, controllerMeta, methodMeta, router, checkRouters, eggContainerFactory) {
16
20
  this.proto = proto;
17
21
  this.controllerMeta = controllerMeta;
18
22
  this.router = router;
19
23
  this.methodMeta = methodMeta;
24
+ this.checkRouters = checkRouters;
20
25
  this.eggContainerFactory = eggContainerFactory;
21
26
  }
22
- createHandler(methodMeta) {
27
+ createHandler(methodMeta, host) {
23
28
  const argsLength = methodMeta.paramMap.size;
24
29
  const hasContext = methodMeta.contextParamIndex !== undefined;
25
30
  const contextIndex = methodMeta.contextParamIndex;
26
31
  const methodArgsLength = argsLength + (hasContext ? 1 : 0);
27
32
  const self = this;
28
- return async function (ctx) {
33
+ return async function (ctx, next) {
34
+ // if hosts is not empty and host is not matched, not execute
35
+ if (host && host !== ctx.host) {
36
+ return await next();
37
+ }
29
38
  // HTTP decorator core implement
30
39
  // use controller metadata map http request to function arguments
31
40
  const eggObj = self.eggContainerFactory.getEggObject(self.proto, self.proto.name, ctx[egg_module_common_1.TEGG_CONTEXT]);
@@ -75,24 +84,51 @@ class HTTPMethodRegister {
75
84
  }
76
85
  };
77
86
  }
78
- register(rootProtoManager) {
79
- // 1. check if method + PATH has registered
87
+ checkDuplicate() {
88
+ // 1. check duplicate with egg controller
89
+ this.checkDuplicateInRouter(this.router);
90
+ // 2. check duplicate with host tegg controller
91
+ let hostRouter;
92
+ const host = this.controllerMeta.getMethodHost(this.methodMeta);
93
+ if (host) {
94
+ hostRouter = this.checkRouters.get(host);
95
+ if (!hostRouter) {
96
+ hostRouter = new router_1.EggRouter({ sensitive: true }, {});
97
+ this.checkRouters.set(host, hostRouter);
98
+ }
99
+ }
100
+ if (hostRouter) {
101
+ this.checkDuplicateInRouter(hostRouter);
102
+ this.registerToRouter(hostRouter);
103
+ }
104
+ }
105
+ registerToRouter(router) {
106
+ const routerFunc = router[this.methodMeta.method.toLowerCase()];
80
107
  const methodRealPath = this.controllerMeta.getMethodRealPath(this.methodMeta);
81
- const matched = this.router.match(methodRealPath, this.methodMeta.method);
108
+ const methodName = this.controllerMeta.getMethodName(this.methodMeta);
109
+ Reflect.apply(routerFunc, router, [methodName, methodRealPath, noop]);
110
+ }
111
+ checkDuplicateInRouter(router) {
112
+ const methodRealPath = this.controllerMeta.getMethodRealPath(this.methodMeta);
113
+ const matched = router.match(methodRealPath, this.methodMeta.method);
82
114
  const methodName = this.controllerMeta.getMethodName(this.methodMeta);
83
115
  if (matched.route) {
84
116
  const [layer] = matched.path;
85
117
  const err = new errors_1.RouterConflictError(`register http controller ${methodName} failed, ${this.methodMeta.method} ${methodRealPath} is conflict with exists rule ${layer.path}`);
86
118
  throw egg_errors_1.FrameworkErrorFormater.format(err);
87
119
  }
88
- // 2. do register
120
+ }
121
+ register(rootProtoManager) {
122
+ const methodRealPath = this.controllerMeta.getMethodRealPath(this.methodMeta);
123
+ const methodName = this.controllerMeta.getMethodName(this.methodMeta);
89
124
  const routerFunc = this.router[this.methodMeta.method.toLowerCase()];
90
125
  const methodMiddlewares = this.controllerMeta.getMethodMiddlewares(this.methodMeta);
91
126
  const aclMiddleware = (0, Acl_1.aclMiddlewareFactory)(this.controllerMeta, this.methodMeta);
92
127
  if (aclMiddleware) {
93
128
  methodMiddlewares.push(aclMiddleware);
94
129
  }
95
- const handler = this.createHandler(this.methodMeta);
130
+ const host = this.controllerMeta.getMethodHost(this.methodMeta);
131
+ const handler = this.createHandler(this.methodMeta, host);
96
132
  Reflect.apply(routerFunc, this.router, [methodName, methodRealPath, ...methodMiddlewares, handler]);
97
133
  // https://github.com/eggjs/egg-core/blob/0af6178022e7734c4a8b17bb56d592b315207883/lib/egg.js#L279
98
134
  const regExp = (0, path_to_regexp_1.default)(methodRealPath, {
@@ -102,8 +138,8 @@ class HTTPMethodRegister {
102
138
  if (regExp.test(ctx.path)) {
103
139
  return this.proto;
104
140
  }
105
- });
141
+ }, host || '');
106
142
  }
107
143
  }
108
144
  exports.HTTPMethodRegister = HTTPMethodRegister;
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUE1ldGhvZFJlZ2lzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSFRUUE1ldGhvZFJlZ2lzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUc1QixzQ0FRcUI7QUFHckIsZ0VBQXdEO0FBRXhELG9FQUEwQztBQUMxQywrQkFBNkM7QUFDN0MseUNBQW1EO0FBQ25ELDJDQUFvRDtBQUVwRCxNQUFhLGtCQUFrQjtJQU83QixZQUNFLEtBQW1CLEVBQ25CLGNBQWtDLEVBQ2xDLFVBQTBCLEVBQzFCLE1BQStCLEVBQy9CLG1CQUErQztRQUUvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7SUFDakQsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUEwQjtRQUM5QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsaUJBQWlCLEtBQUssU0FBUyxDQUFDO1FBQzlELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRCxNQUFNLGdCQUFnQixHQUFHLFVBQVUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxLQUFLLFdBQVUsR0FBWTtZQUNoQyxnQ0FBZ0M7WUFDaEMsaUVBQWlFO1lBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFD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
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUE1ldGhvZFJlZ2lzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSFRUUE1ldGhvZFJlZ2lzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUc1QixzQ0FTcUI7QUFHckIsZ0VBQXdEO0FBRXhELG9FQUEwQztBQUMxQywrQkFBNkM7QUFDN0MseUNBQW1EO0FBQ25ELDJDQUFvRDtBQUNwRCwwQ0FBMEM7QUFFMUMsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO0lBQ2hCLE1BQU07QUFDUixDQUFDLENBQUM7QUFFRixNQUFhLGtCQUFrQjtJQVE3QixZQUNFLEtBQW1CLEVBQ25CLGNBQWtDLEVBQ2xDLFVBQTBCLEVBQzFCLE1BQStCLEVBQy9CLFlBQWtELEVBQ2xELG1CQUErQztRQUUvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7SUFDakQsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUEwQixFQUFFLElBQXdCO1FBQ3hFLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzVDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLENBQUM7UUFDOUQsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDO1FBQ2xELE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sSUFBSSxH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
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "tegg"
8
8
  ]
9
9
  },
10
- "version": "1.3.3",
10
+ "version": "1.5.1",
11
11
  "description": "controller decorator for egg",
12
12
  "keywords": [
13
13
  "egg",
@@ -47,7 +47,7 @@
47
47
  },
48
48
  "dependencies": {
49
49
  "@eggjs/egg-module-common": "^1.0.0",
50
- "@eggjs/tegg": "^1.3.3",
50
+ "@eggjs/tegg": "^1.3.5",
51
51
  "@eggjs/tegg-common-util": "^1.1.1",
52
52
  "@eggjs/tegg-loader": "^1.3.0",
53
53
  "@eggjs/tegg-metadata": "^1.3.0",
@@ -61,7 +61,7 @@
61
61
  "@eggjs/module-test-util": "^1.3.0",
62
62
  "@eggjs/router": "^2.0.0",
63
63
  "@eggjs/tegg-config": "^1.1.1",
64
- "@eggjs/tegg-plugin": "^1.3.3",
64
+ "@eggjs/tegg-plugin": "^1.3.6",
65
65
  "egg": "^2.26.0",
66
66
  "egg-mock": "^3.25.1",
67
67
  "egg-tracer": "^1.1.0",
@@ -70,5 +70,5 @@
70
70
  "publishConfig": {
71
71
  "access": "public"
72
72
  },
73
- "gitHead": "5da127fcf618ed89c4bf1beadc38bb2058f8426b"
73
+ "gitHead": "e9d2b4019b5fb0395d479475996e2f096a84dc44"
74
74
  }