@eggjs/tegg-controller-plugin 3.62.0 → 4.0.0-beta.10
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/README.md +15 -126
- package/dist/app/middleware/tegg_root_proto.d.ts +3 -0
- package/dist/app/middleware/tegg_root_proto.js +8 -0
- package/dist/app.d.ts +23 -0
- package/dist/app.js +76 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/{lib → dist/lib}/AppLoadUnitControllerHook.d.ts +4 -4
- package/dist/lib/AppLoadUnitControllerHook.js +29 -0
- package/{lib → dist/lib}/ControllerLoadUnit.d.ts +2 -2
- package/dist/lib/ControllerLoadUnit.js +72 -0
- package/{lib → dist/lib}/ControllerLoadUnitHandler.d.ts +4 -4
- package/dist/lib/ControllerLoadUnitHandler.js +29 -0
- package/{lib → dist/lib}/ControllerLoadUnitInstance.d.ts +3 -3
- package/dist/lib/ControllerLoadUnitInstance.js +36 -0
- package/{lib → dist/lib}/ControllerMetadataManager.d.ts +1 -1
- package/dist/lib/ControllerMetadataManager.js +27 -0
- package/{lib → dist/lib}/ControllerRegister.d.ts +2 -2
- package/dist/lib/ControllerRegister.js +3 -0
- package/{lib → dist/lib}/ControllerRegisterFactory.d.ts +4 -4
- package/dist/lib/ControllerRegisterFactory.js +22 -0
- package/dist/lib/EggControllerLoader.d.ts +7 -0
- package/dist/lib/EggControllerLoader.js +31 -0
- package/{lib → dist/lib}/EggControllerPrototypeHook.d.ts +2 -2
- package/dist/lib/EggControllerPrototypeHook.js +11 -0
- package/{lib → dist/lib}/RootProtoManager.d.ts +2 -2
- package/dist/lib/RootProtoManager.js +34 -0
- package/dist/lib/errors.js +12 -0
- package/dist/lib/impl/http/Acl.d.ts +2 -0
- package/dist/lib/impl/http/Acl.js +33 -0
- package/{lib → dist/lib}/impl/http/HTTPControllerRegister.d.ts +4 -4
- package/dist/lib/impl/http/HTTPControllerRegister.js +64 -0
- package/{lib → dist/lib}/impl/http/HTTPMethodRegister.d.ts +2 -2
- package/dist/lib/impl/http/HTTPMethodRegister.js +165 -0
- package/dist/lib/impl/http/Req.js +13 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.js +3 -0
- package/package.json +60 -50
- package/app/middleware/mcp_body_middleware.d.ts +0 -3
- package/app/middleware/mcp_body_middleware.js +0 -48
- package/app/middleware/tegg_root_proto.d.ts +0 -3
- package/app/middleware/tegg_root_proto.js +0 -11
- package/app.d.ts +0 -15
- package/app.js +0 -143
- package/config/config.default.d.ts +0 -11
- package/config/config.default.js +0 -16
- package/lib/AppLoadUnitControllerHook.js +0 -28
- package/lib/ControllerLoadUnit.js +0 -71
- package/lib/ControllerLoadUnitHandler.js +0 -31
- package/lib/ControllerLoadUnitInstance.js +0 -34
- package/lib/ControllerMetadataManager.js +0 -30
- package/lib/ControllerRegister.js +0 -3
- package/lib/ControllerRegisterFactory.js +0 -21
- package/lib/EggControllerLoader.d.ts +0 -6
- package/lib/EggControllerLoader.js +0 -37
- package/lib/EggControllerPrototypeHook.js +0 -14
- package/lib/RootProtoManager.js +0 -38
- package/lib/errors.js +0 -16
- package/lib/impl/http/Acl.d.ts +0 -2
- package/lib/impl/http/Acl.js +0 -34
- package/lib/impl/http/HTTPControllerRegister.js +0 -62
- package/lib/impl/http/HTTPMethodRegister.js +0 -173
- package/lib/impl/http/Req.js +0 -17
- package/lib/impl/mcp/MCPConfig.d.ts +0 -32
- package/lib/impl/mcp/MCPConfig.js +0 -107
- package/lib/impl/mcp/MCPControllerRegister.d.ts +0 -67
- package/lib/impl/mcp/MCPControllerRegister.js +0 -541
- package/lib/impl/mcp/MCPServerHelper.d.ts +0 -17
- package/lib/impl/mcp/MCPServerHelper.js +0 -122
- package/typings/index.d.ts +0 -17
- /package/{lib → dist/lib}/errors.d.ts +0 -0
- /package/{lib → dist/lib}/impl/http/Req.d.ts +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { globby } from 'globby';
|
|
3
|
+
import { LoaderUtil } from '@eggjs/tegg-loader';
|
|
4
|
+
export class EggControllerLoader {
|
|
5
|
+
controllerDir;
|
|
6
|
+
constructor(controllerDir) {
|
|
7
|
+
this.controllerDir = controllerDir;
|
|
8
|
+
}
|
|
9
|
+
async load() {
|
|
10
|
+
const filePattern = LoaderUtil.filePattern();
|
|
11
|
+
let files;
|
|
12
|
+
try {
|
|
13
|
+
const httpControllers = (await globby(filePattern, { cwd: this.controllerDir }))
|
|
14
|
+
.map(file => path.join(this.controllerDir, file));
|
|
15
|
+
files = httpControllers;
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
files = [];
|
|
19
|
+
// app/controller dir not exists
|
|
20
|
+
}
|
|
21
|
+
const protoClassList = [];
|
|
22
|
+
for (const file of files) {
|
|
23
|
+
const fileClazzList = await LoaderUtil.loadFile(file);
|
|
24
|
+
for (const clazz of fileClazzList) {
|
|
25
|
+
protoClassList.push(clazz);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return protoClassList;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udHJvbGxlckxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvRWdnQ29udHJvbGxlckxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJaEQsTUFBTSxPQUFPLG1CQUFtQjtJQUNiLGFBQWEsQ0FBUztJQUV2QyxZQUFZLGFBQXFCO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFJLEtBQWUsQ0FBQztRQUNwQixJQUFJLENBQUM7WUFDSCxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztpQkFDN0UsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDcEQsS0FBSyxHQUFHLGVBQWUsQ0FBQztRQUMxQixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNYLGdDQUFnQztRQUNsQyxDQUFDO1FBQ0QsTUFBTSxjQUFjLEdBQXdCLEVBQUUsQ0FBQztRQUMvQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sYUFBYSxHQUFHLE1BQU0sVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCxLQUFLLE1BQU0sS0FBSyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztDQUNGIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EggPrototype, EggPrototypeLifecycleContext } from '@eggjs/tegg-metadata';
|
|
2
|
-
import { LifecycleHook } from '@eggjs/tegg';
|
|
1
|
+
import { type EggPrototype, type EggPrototypeLifecycleContext } from '@eggjs/tegg-metadata';
|
|
2
|
+
import { type LifecycleHook } from '@eggjs/tegg';
|
|
3
3
|
export declare class EggControllerPrototypeHook implements LifecycleHook<EggPrototypeLifecycleContext, EggPrototype> {
|
|
4
4
|
postCreate(ctx: EggPrototypeLifecycleContext): Promise<void>;
|
|
5
5
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {} from '@eggjs/tegg-metadata';
|
|
2
|
+
import { ControllerMetaBuilderFactory, ControllerMetadataUtil, } from '@eggjs/tegg';
|
|
3
|
+
export class EggControllerPrototypeHook {
|
|
4
|
+
async postCreate(ctx) {
|
|
5
|
+
const metadata = ControllerMetaBuilderFactory.build(ctx.clazz);
|
|
6
|
+
if (metadata) {
|
|
7
|
+
ControllerMetadataUtil.setControllerMetadata(ctx.clazz, metadata);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udHJvbGxlclByb3RvdHlwZUhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL0VnZ0NvbnRyb2xsZXJQcm90b3R5cGVIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0QsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RixPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHNCQUFzQixHQUV2QixNQUFNLGFBQWEsQ0FBQztBQUVyQixNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBaUM7UUFDaEQsTUFBTSxRQUFRLEdBQUcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2Isc0JBQXNCLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNwRSxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EggPrototype } from '@eggjs/tegg-metadata';
|
|
2
|
-
import { EggContext } from '@eggjs/tegg';
|
|
1
|
+
import { type EggPrototype } from '@eggjs/tegg-metadata';
|
|
2
|
+
import { type EggContext } from '@eggjs/tegg';
|
|
3
3
|
export type GetRootProtoCallback = (ctx: EggContext) => EggPrototype | undefined;
|
|
4
4
|
export declare class RootProtoManager {
|
|
5
5
|
protoMap: Map<string, GetRootProtoCallback[]>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {} from '@eggjs/tegg-metadata';
|
|
2
|
+
import {} from '@eggjs/tegg';
|
|
3
|
+
import { MapUtil } from '@eggjs/tegg-common-util';
|
|
4
|
+
export class RootProtoManager {
|
|
5
|
+
// <method, GetRootProtoCallback[]>
|
|
6
|
+
protoMap = new Map();
|
|
7
|
+
registerRootProto(method, cb, host) {
|
|
8
|
+
host = host || '';
|
|
9
|
+
const cbList = MapUtil.getOrStore(this.protoMap, method + host, []);
|
|
10
|
+
cbList.push(cb);
|
|
11
|
+
}
|
|
12
|
+
getRootProto(ctx) {
|
|
13
|
+
const hostCbList = this.protoMap.get(ctx.method + ctx.host);
|
|
14
|
+
if (hostCbList) {
|
|
15
|
+
for (const cb of hostCbList) {
|
|
16
|
+
const proto = cb(ctx);
|
|
17
|
+
if (proto) {
|
|
18
|
+
return proto;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const cbList = this.protoMap.get(ctx.method);
|
|
23
|
+
if (!cbList) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
for (const cb of cbList) {
|
|
27
|
+
const proto = cb(ctx);
|
|
28
|
+
if (proto) {
|
|
29
|
+
return proto;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm9vdFByb3RvTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvUm9vdFByb3RvTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFtQixNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJbEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixtQ0FBbUM7SUFDbkMsUUFBUSxHQUF3QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTFELGlCQUFpQixDQUFDLE1BQWMsRUFBRSxFQUF3QixFQUFFLElBQVk7UUFDdEUsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQWU7UUFDMUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLEtBQUssTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQzVCLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDVixPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTztRQUNULENBQUM7UUFDRCxLQUFLLE1BQU0sRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QixJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNWLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TeggError } from '@eggjs/tegg-metadata';
|
|
2
|
+
var ErrorCodes;
|
|
3
|
+
(function (ErrorCodes) {
|
|
4
|
+
ErrorCodes["ROUTER_CONFLICT"] = "ROUTER_CONFLICT";
|
|
5
|
+
})(ErrorCodes || (ErrorCodes = {}));
|
|
6
|
+
/** 路由冲突错误 */
|
|
7
|
+
export class RouterConflictError extends TeggError {
|
|
8
|
+
constructor(msg) {
|
|
9
|
+
super(msg, ErrorCodes.ROUTER_CONFLICT);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpELElBQUssVUFFSjtBQUZELFdBQUssVUFBVTtJQUNiLGlEQUFtQyxDQUFBO0FBQ3JDLENBQUMsRUFGSSxVQUFVLEtBQVYsVUFBVSxRQUVkO0FBRUQsYUFBYTtBQUNiLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUFTO0lBQ2hELFlBQVksR0FBVztRQUNyQixLQUFLLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {} from '@eggjs/tegg';
|
|
2
|
+
export function aclMiddlewareFactory(controllerMeta, methodMeta) {
|
|
3
|
+
if (!controllerMeta.hasMethodAcl(methodMeta)) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
const code = controllerMeta.getMethodAcl(methodMeta);
|
|
7
|
+
return async function aclMiddleware(ctx, next) {
|
|
8
|
+
try {
|
|
9
|
+
// @ts-expect-error ctx.acl is implemented in extend/context.ts on top level plugin, framework or app
|
|
10
|
+
await ctx.acl(code);
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
const { redirectUrl, status } = e.data || {};
|
|
14
|
+
if (!redirectUrl) {
|
|
15
|
+
throw e;
|
|
16
|
+
}
|
|
17
|
+
if (ctx.acceptJSON) {
|
|
18
|
+
ctx.body = {
|
|
19
|
+
target: redirectUrl,
|
|
20
|
+
stat: 'deny',
|
|
21
|
+
};
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (status) {
|
|
25
|
+
ctx.realStatus = status;
|
|
26
|
+
}
|
|
27
|
+
ctx.redirect(redirectUrl);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
return next();
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9pbXBsL2h0dHAvQWNsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEUsTUFBTSxhQUFhLENBQUM7QUFFdkcsTUFBTSxVQUFVLG9CQUFvQixDQUFDLGNBQWtDLEVBQUUsVUFBMEI7SUFDakcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM3QyxPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsT0FBTyxLQUFLLFVBQVUsYUFBYSxDQUFDLEdBQWUsRUFBRSxJQUFVO1FBQzdELElBQUksQ0FBQztZQUNILHFHQUFxRztZQUNyRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztZQUNELElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNuQixHQUFHLENBQUMsSUFBSSxHQUFHO29CQUNULE1BQU0sRUFBRSxXQUFXO29CQUNuQixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDO2dCQUNGLE9BQU87WUFDVCxDQUFDO1lBQ0QsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxHQUFHLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztZQUMxQixDQUFDO1lBQ0QsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMxQixPQUFPO1FBRVQsQ0FBQztRQUNELE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Application, Router } from 'egg';
|
|
2
|
-
import { ControllerMetadata } from '@eggjs/tegg';
|
|
3
|
-
import { EggPrototype } from '@eggjs/tegg-metadata';
|
|
4
|
-
import { ControllerRegister } from '../../ControllerRegister';
|
|
2
|
+
import { type ControllerMetadata } from '@eggjs/tegg';
|
|
3
|
+
import { type EggPrototype } from '@eggjs/tegg-metadata';
|
|
5
4
|
import { EggContainerFactory } from '@eggjs/tegg-runtime';
|
|
6
|
-
import {
|
|
5
|
+
import { type ControllerRegister } from '../../ControllerRegister.ts';
|
|
6
|
+
import { RootProtoManager } from '../../RootProtoManager.ts';
|
|
7
7
|
export declare class HTTPControllerRegister implements ControllerRegister {
|
|
8
8
|
static instance?: HTTPControllerRegister;
|
|
9
9
|
private readonly router;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { Application, Router } from 'egg';
|
|
3
|
+
import { CONTROLLER_META_DATA, ControllerType, HTTPControllerMeta, HTTPMethodMeta, } from '@eggjs/tegg';
|
|
4
|
+
import {} from '@eggjs/tegg-metadata';
|
|
5
|
+
import { EggContainerFactory } from '@eggjs/tegg-runtime';
|
|
6
|
+
import {} from "../../ControllerRegister.js";
|
|
7
|
+
import { HTTPMethodRegister } from "./HTTPMethodRegister.js";
|
|
8
|
+
import { RootProtoManager } from "../../RootProtoManager.js";
|
|
9
|
+
export class HTTPControllerRegister {
|
|
10
|
+
static instance;
|
|
11
|
+
router;
|
|
12
|
+
checkRouters;
|
|
13
|
+
eggContainerFactory;
|
|
14
|
+
controllerProtos = [];
|
|
15
|
+
static create(proto, controllerMeta, app) {
|
|
16
|
+
assert(controllerMeta.type === ControllerType.HTTP, 'controller meta type is not HTTP');
|
|
17
|
+
if (!HTTPControllerRegister.instance) {
|
|
18
|
+
HTTPControllerRegister.instance = new HTTPControllerRegister(app.router, app.eggContainerFactory);
|
|
19
|
+
}
|
|
20
|
+
HTTPControllerRegister.instance.controllerProtos.push(proto);
|
|
21
|
+
return HTTPControllerRegister.instance;
|
|
22
|
+
}
|
|
23
|
+
constructor(router, eggContainerFactory) {
|
|
24
|
+
this.router = router;
|
|
25
|
+
this.checkRouters = new Map();
|
|
26
|
+
this.checkRouters.set('default', router);
|
|
27
|
+
this.eggContainerFactory = eggContainerFactory;
|
|
28
|
+
}
|
|
29
|
+
register() {
|
|
30
|
+
// do noting
|
|
31
|
+
return Promise.resolve();
|
|
32
|
+
}
|
|
33
|
+
static clean() {
|
|
34
|
+
if (this.instance) {
|
|
35
|
+
this.instance.controllerProtos = [];
|
|
36
|
+
this.instance.checkRouters.clear();
|
|
37
|
+
}
|
|
38
|
+
this.instance = undefined;
|
|
39
|
+
}
|
|
40
|
+
doRegister(rootProtoManager) {
|
|
41
|
+
const methodMap = new Map();
|
|
42
|
+
for (const proto of this.controllerProtos) {
|
|
43
|
+
const metadata = proto.getMetaData(CONTROLLER_META_DATA);
|
|
44
|
+
for (const method of metadata.methods) {
|
|
45
|
+
methodMap.set(method, proto);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const allMethods = Array.from(methodMap.keys())
|
|
49
|
+
.sort((a, b) => b.priority - a.priority);
|
|
50
|
+
for (const method of allMethods) {
|
|
51
|
+
const controllerProto = methodMap.get(method);
|
|
52
|
+
const controllerMeta = controllerProto.getMetaData(CONTROLLER_META_DATA);
|
|
53
|
+
const methodRegister = new HTTPMethodRegister(controllerProto, controllerMeta, method, this.router, this.checkRouters, this.eggContainerFactory);
|
|
54
|
+
methodRegister.checkDuplicate();
|
|
55
|
+
}
|
|
56
|
+
for (const method of allMethods) {
|
|
57
|
+
const controllerProto = methodMap.get(method);
|
|
58
|
+
const controllerMeta = controllerProto.getMetaData(CONTROLLER_META_DATA);
|
|
59
|
+
const methodRegister = new HTTPMethodRegister(controllerProto, controllerMeta, method, this.router, this.checkRouters, this.eggContainerFactory);
|
|
60
|
+
methodRegister.register(rootProtoManager);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXJSZWdpc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaW1wbC9odHRwL0hUVFBDb250cm9sbGVyUmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sb0JBQW9CLENBQUM7QUFFeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDMUMsT0FBTyxFQUNMLG9CQUFvQixFQUVwQixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGNBQWMsR0FDZixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsT0FBTyxFQUEyQixNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsTUFBTSxDQUFDLFFBQVEsQ0FBMEI7SUFFeEIsTUFBTSxDQUFTO0lBQ2YsWUFBWSxDQUFzQjtJQUNsQyxtQkFBbUIsQ0FBNkI7SUFDekQsZ0JBQWdCLEdBQW1CLEVBQUUsQ0FBQztJQUU5QyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQW1CLEVBQUUsY0FBa0MsRUFBRSxHQUFnQjtRQUNyRixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsSUFBSSxFQUFFLGtDQUFrQyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLHNCQUFzQixDQUFDLFFBQVEsR0FBRyxJQUFJLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDcEcsQ0FBQztRQUNELHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0QsT0FBTyxzQkFBc0IsQ0FBQyxRQUFRLENBQUM7SUFDekMsQ0FBQztJQUVELFlBQVksTUFBYyxFQUFFLG1CQUErQztRQUN6RSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUTtRQUNOLFlBQVk7UUFDWixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDNUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxnQkFBa0M7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQWdDLENBQUM7UUFDMUQsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUF1QixDQUFDO1lBQy9FLEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN0QyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvQixDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzVDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNDLEtBQUssTUFBTSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUUsQ0FBQztZQUMvQyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUF1QixDQUFDO1lBQy9GLE1BQU0sY0FBYyxHQUFHLElBQUksa0JBQWtCLENBQzNDLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNyRyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEMsQ0FBQztRQUVELEtBQUssTUFBTSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUUsQ0FBQztZQUMvQyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUF1QixDQUFDO1lBQy9GLE1BQU0sY0FBYyxHQUFHLElBQUksa0JBQWtCLENBQzNDLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNyRyxjQUFjLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Router } from 'egg';
|
|
2
2
|
import { HTTPControllerMeta, HTTPMethodMeta } from '@eggjs/tegg';
|
|
3
3
|
import { EggContainerFactory } from '@eggjs/tegg-runtime';
|
|
4
|
-
import { EggPrototype } from '@eggjs/tegg-metadata';
|
|
5
|
-
import { RootProtoManager } from '../../RootProtoManager';
|
|
4
|
+
import { type EggPrototype } from '@eggjs/tegg-metadata';
|
|
5
|
+
import { RootProtoManager } from '../../RootProtoManager.ts';
|
|
6
6
|
export declare class HTTPMethodRegister {
|
|
7
7
|
private readonly router;
|
|
8
8
|
private readonly checkRouters;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import { Context, Router } from 'egg';
|
|
3
|
+
import { HTTPControllerMeta, HTTPMethodMeta, HTTPParamType, PathParamMeta, QueriesParamMeta, QueryParamMeta, HTTPCookies, } from '@eggjs/tegg';
|
|
4
|
+
import { EggContainerFactory } from '@eggjs/tegg-runtime';
|
|
5
|
+
import {} from '@eggjs/tegg-metadata';
|
|
6
|
+
import pathToRegexp from 'path-to-regexp';
|
|
7
|
+
import { EggRouter } from '@eggjs/router';
|
|
8
|
+
import { FrameworkErrorFormater } from 'egg-errors';
|
|
9
|
+
import { RootProtoManager } from "../../RootProtoManager.js";
|
|
10
|
+
import { aclMiddlewareFactory } from "./Acl.js";
|
|
11
|
+
import { HTTPRequest } from "./Req.js";
|
|
12
|
+
import { RouterConflictError } from "../../errors.js";
|
|
13
|
+
const noop = () => {
|
|
14
|
+
// ...
|
|
15
|
+
};
|
|
16
|
+
export class HTTPMethodRegister {
|
|
17
|
+
router;
|
|
18
|
+
checkRouters;
|
|
19
|
+
controllerMeta;
|
|
20
|
+
methodMeta;
|
|
21
|
+
proto;
|
|
22
|
+
eggContainerFactory;
|
|
23
|
+
constructor(proto, controllerMeta, methodMeta, router, checkRouters, eggContainerFactory) {
|
|
24
|
+
this.proto = proto;
|
|
25
|
+
this.controllerMeta = controllerMeta;
|
|
26
|
+
this.router = router;
|
|
27
|
+
this.methodMeta = methodMeta;
|
|
28
|
+
this.checkRouters = checkRouters;
|
|
29
|
+
this.eggContainerFactory = eggContainerFactory;
|
|
30
|
+
}
|
|
31
|
+
createHandler(methodMeta, host) {
|
|
32
|
+
const argsLength = methodMeta.paramMap.size;
|
|
33
|
+
const hasContext = methodMeta.contextParamIndex !== undefined;
|
|
34
|
+
const contextIndex = methodMeta.contextParamIndex;
|
|
35
|
+
const methodArgsLength = argsLength + (hasContext ? 1 : 0);
|
|
36
|
+
// eslint-disable-next-line
|
|
37
|
+
const self = this;
|
|
38
|
+
return async function (ctx, next) {
|
|
39
|
+
// if hosts is not empty and host is not matched, not execute
|
|
40
|
+
if (host && host !== ctx.host) {
|
|
41
|
+
return await next();
|
|
42
|
+
}
|
|
43
|
+
// HTTP decorator core implement
|
|
44
|
+
// use controller metadata map http request to function arguments
|
|
45
|
+
const eggObj = await self.eggContainerFactory.getOrCreateEggObject(self.proto, self.proto.name);
|
|
46
|
+
const realObj = eggObj.obj;
|
|
47
|
+
const realMethod = realObj[methodMeta.name];
|
|
48
|
+
const args = Array.from({ length: methodArgsLength });
|
|
49
|
+
if (hasContext) {
|
|
50
|
+
args[contextIndex] = ctx;
|
|
51
|
+
}
|
|
52
|
+
for (const [index, param] of methodMeta.paramMap) {
|
|
53
|
+
switch (param.type) {
|
|
54
|
+
case HTTPParamType.BODY: {
|
|
55
|
+
args[index] = ctx.request.body;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
case HTTPParamType.PARAM: {
|
|
59
|
+
const pathParam = param;
|
|
60
|
+
args[index] = ctx.params[pathParam.name];
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
case HTTPParamType.QUERY: {
|
|
64
|
+
const queryParam = param;
|
|
65
|
+
args[index] = ctx.query[queryParam.name];
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
case HTTPParamType.QUERIES: {
|
|
69
|
+
const queryParam = param;
|
|
70
|
+
args[index] = ctx.queries[queryParam.name];
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
case HTTPParamType.HEADERS: {
|
|
74
|
+
args[index] = ctx.request.headers;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
case HTTPParamType.REQUEST: {
|
|
78
|
+
args[index] = new HTTPRequest(ctx);
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
case HTTPParamType.COOKIES: {
|
|
82
|
+
args[index] = new HTTPCookies(ctx, []);
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
default:
|
|
86
|
+
assert.fail('never arrive');
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const body = await Reflect.apply(realMethod, realObj, args);
|
|
90
|
+
// https://github.com/koajs/koa/blob/master/lib/response.js#L88
|
|
91
|
+
// ctx.status is set
|
|
92
|
+
const explicitStatus = ctx.response._explicitStatus;
|
|
93
|
+
if (
|
|
94
|
+
// has body
|
|
95
|
+
(body !== null && body !== undefined) ||
|
|
96
|
+
// status is not set and has no body
|
|
97
|
+
// code should by 204
|
|
98
|
+
// https://github.com/koajs/koa/blob/master/lib/response.js#L140
|
|
99
|
+
!explicitStatus) {
|
|
100
|
+
ctx.body = body;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
checkDuplicate() {
|
|
105
|
+
// 1. check duplicate with egg controller
|
|
106
|
+
this.checkDuplicateInRouter(this.router);
|
|
107
|
+
// 2. check duplicate with host tegg controller
|
|
108
|
+
let hostRouter;
|
|
109
|
+
const hosts = this.controllerMeta.getMethodHosts(this.methodMeta) || [];
|
|
110
|
+
hosts.forEach(h => {
|
|
111
|
+
if (h) {
|
|
112
|
+
hostRouter = this.checkRouters.get(h);
|
|
113
|
+
if (!hostRouter) {
|
|
114
|
+
hostRouter = new EggRouter({ sensitive: true }, this.router.app);
|
|
115
|
+
this.checkRouters.set(h, hostRouter);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (hostRouter) {
|
|
119
|
+
this.checkDuplicateInRouter(hostRouter);
|
|
120
|
+
this.registerToRouter(hostRouter);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
registerToRouter(router) {
|
|
125
|
+
const routerFunc = router[this.methodMeta.method.toLowerCase()];
|
|
126
|
+
const methodRealPath = this.controllerMeta.getMethodRealPath(this.methodMeta);
|
|
127
|
+
const methodName = this.controllerMeta.getMethodName(this.methodMeta);
|
|
128
|
+
Reflect.apply(routerFunc, router, [methodName, methodRealPath, noop]);
|
|
129
|
+
}
|
|
130
|
+
checkDuplicateInRouter(router) {
|
|
131
|
+
const methodRealPath = this.controllerMeta.getMethodRealPath(this.methodMeta);
|
|
132
|
+
const matched = router.match(methodRealPath, this.methodMeta.method);
|
|
133
|
+
const methodName = this.controllerMeta.getMethodName(this.methodMeta);
|
|
134
|
+
if (matched.route) {
|
|
135
|
+
const [layer] = matched.path;
|
|
136
|
+
const err = new RouterConflictError(`register http controller ${methodName} failed, ${this.methodMeta.method} ${methodRealPath} is conflict with exists rule ${layer.path}`);
|
|
137
|
+
throw FrameworkErrorFormater.format(err);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
register(rootProtoManager) {
|
|
141
|
+
const methodRealPath = this.controllerMeta.getMethodRealPath(this.methodMeta);
|
|
142
|
+
const methodName = this.controllerMeta.getMethodName(this.methodMeta);
|
|
143
|
+
const routerFunc = this.router[this.methodMeta.method.toLowerCase()];
|
|
144
|
+
const methodMiddlewares = this.controllerMeta.getMethodMiddlewares(this.methodMeta);
|
|
145
|
+
const aclMiddleware = aclMiddlewareFactory(this.controllerMeta, this.methodMeta);
|
|
146
|
+
if (aclMiddleware) {
|
|
147
|
+
methodMiddlewares.push(aclMiddleware);
|
|
148
|
+
}
|
|
149
|
+
const hosts = this.controllerMeta.getMethodHosts(this.methodMeta) || [undefined];
|
|
150
|
+
hosts.forEach(h => {
|
|
151
|
+
const handler = this.createHandler(this.methodMeta, h);
|
|
152
|
+
Reflect.apply(routerFunc, this.router, [methodName, methodRealPath, ...methodMiddlewares, handler]);
|
|
153
|
+
// https://github.com/eggjs/egg-core/blob/0af6178022e7734c4a8b17bb56d592b315207883/lib/egg.js#L279
|
|
154
|
+
const regExp = pathToRegexp(methodRealPath, {
|
|
155
|
+
sensitive: true,
|
|
156
|
+
});
|
|
157
|
+
rootProtoManager.registerRootProto(this.methodMeta.method, (ctx) => {
|
|
158
|
+
if (regExp.test(ctx.path)) {
|
|
159
|
+
return this.proto;
|
|
160
|
+
}
|
|
161
|
+
}, h || '');
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUE1ldGhvZFJlZ2lzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9pbXBsL2h0dHAvSFRUUE1ldGhvZFJlZ2lzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUVqQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQztBQUN0QyxPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxhQUFhLEVBRWIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsV0FBVyxHQUNaLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLFlBQVksTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RCxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUU7SUFDaEIsTUFBTTtBQUNSLENBQUMsQ0FBQztBQUVGLE1BQU0sT0FBTyxrQkFBa0I7SUFDWixNQUFNLENBQVM7SUFDZixZQUFZLENBQXNCO0lBQ2xDLGNBQWMsQ0FBcUI7SUFDbkMsVUFBVSxDQUFpQjtJQUMzQixLQUFLLENBQWU7SUFDcEIsbUJBQW1CLENBQTZCO0lBRWpFLFlBQ0UsS0FB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
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { HTTPRequest as BaseHTTPRequest } from '@eggjs/tegg';
|
|
2
|
+
export class HTTPRequest extends BaseHTTPRequest {
|
|
3
|
+
constructor(ctx) {
|
|
4
|
+
const request = ctx.request;
|
|
5
|
+
// href: https://github.com/eggjs/koa/blob/master/src/request.ts#L90C1-L98C4
|
|
6
|
+
super(request.href, {
|
|
7
|
+
method: request.method,
|
|
8
|
+
headers: request.headers,
|
|
9
|
+
body: ctx.request.rawBody,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9pbXBsL2h0dHAvUmVxLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLElBQUksZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdELE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBZTtJQUM5QyxZQUFZLEdBQVk7UUFDdEIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUM1Qiw0RUFBNEU7UUFDNUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDbEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBaUM7WUFDbEQsSUFBSSxFQUFHLEdBQUcsQ0FBQyxPQUFlLENBQUMsT0FBTztTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
|
package/dist/types.d.ts
ADDED
package/dist/types.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import '@eggjs/tegg-plugin/types';
|
|
2
|
+
import "./app.js";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTywwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLFVBQVUsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"tegg"
|
|
8
8
|
]
|
|
9
9
|
},
|
|
10
|
-
"version": "
|
|
10
|
+
"version": "4.0.0-beta.10",
|
|
11
11
|
"description": "controller decorator for egg",
|
|
12
12
|
"keywords": [
|
|
13
13
|
"egg",
|
|
@@ -17,25 +17,32 @@
|
|
|
17
17
|
"tegg"
|
|
18
18
|
],
|
|
19
19
|
"files": [
|
|
20
|
-
"
|
|
21
|
-
"app.d.ts",
|
|
22
|
-
"config/**/*.js",
|
|
23
|
-
"config/**/*.d.ts",
|
|
24
|
-
"lib/**/*.js",
|
|
25
|
-
"lib/**/*.d.ts",
|
|
26
|
-
"app/**/*.js",
|
|
27
|
-
"app/**/*.d.ts",
|
|
28
|
-
"typings/*.d.ts"
|
|
20
|
+
"dist"
|
|
29
21
|
],
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
22
|
+
"type": "module",
|
|
23
|
+
"exports": {
|
|
24
|
+
".": "./dist/index.js",
|
|
25
|
+
"./app": "./dist/app.js",
|
|
26
|
+
"./app/middleware/tegg_root_proto": "./dist/app/middleware/tegg_root_proto.js",
|
|
27
|
+
"./lib/AppLoadUnitControllerHook": "./dist/lib/AppLoadUnitControllerHook.js",
|
|
28
|
+
"./lib/ControllerLoadUnit": "./dist/lib/ControllerLoadUnit.js",
|
|
29
|
+
"./lib/ControllerLoadUnitHandler": "./dist/lib/ControllerLoadUnitHandler.js",
|
|
30
|
+
"./lib/ControllerLoadUnitInstance": "./dist/lib/ControllerLoadUnitInstance.js",
|
|
31
|
+
"./lib/ControllerMetadataManager": "./dist/lib/ControllerMetadataManager.js",
|
|
32
|
+
"./lib/ControllerRegister": "./dist/lib/ControllerRegister.js",
|
|
33
|
+
"./lib/ControllerRegisterFactory": "./dist/lib/ControllerRegisterFactory.js",
|
|
34
|
+
"./lib/EggControllerLoader": "./dist/lib/EggControllerLoader.js",
|
|
35
|
+
"./lib/EggControllerPrototypeHook": "./dist/lib/EggControllerPrototypeHook.js",
|
|
36
|
+
"./lib/errors": "./dist/lib/errors.js",
|
|
37
|
+
"./lib/impl/http/Acl": "./dist/lib/impl/http/Acl.js",
|
|
38
|
+
"./lib/impl/http/HTTPControllerRegister": "./dist/lib/impl/http/HTTPControllerRegister.js",
|
|
39
|
+
"./lib/impl/http/HTTPMethodRegister": "./dist/lib/impl/http/HTTPMethodRegister.js",
|
|
40
|
+
"./lib/impl/http/Req": "./dist/lib/impl/http/Req.js",
|
|
41
|
+
"./lib/RootProtoManager": "./dist/lib/RootProtoManager.js",
|
|
42
|
+
"./types": "./dist/types.js",
|
|
43
|
+
"./package.json": "./package.json"
|
|
37
44
|
},
|
|
38
|
-
"homepage": "https://github.com/eggjs/tegg",
|
|
45
|
+
"homepage": "https://github.com/eggjs/tegg/tree/next/plugin/controller",
|
|
39
46
|
"bugs": {
|
|
40
47
|
"url": "https://github.com/eggjs/tegg/issues"
|
|
41
48
|
},
|
|
@@ -45,44 +52,47 @@
|
|
|
45
52
|
"directory": "plugin/controller"
|
|
46
53
|
},
|
|
47
54
|
"engines": {
|
|
48
|
-
"node": ">=
|
|
55
|
+
"node": ">=22.18.0"
|
|
49
56
|
},
|
|
50
57
|
"dependencies": {
|
|
51
|
-
"@eggjs/
|
|
52
|
-
"@eggjs/mcp-proxy": "^3.62.0",
|
|
53
|
-
"@eggjs/router": "^2.0.1",
|
|
54
|
-
"@eggjs/tegg": "^3.62.0",
|
|
55
|
-
"@eggjs/tegg-common-util": "^3.62.0",
|
|
56
|
-
"@eggjs/tegg-loader": "^3.62.0",
|
|
57
|
-
"@eggjs/tegg-metadata": "^3.62.0",
|
|
58
|
-
"@eggjs/tegg-runtime": "^3.62.0",
|
|
59
|
-
"@modelcontextprotocol/sdk": "^1.10.0",
|
|
60
|
-
"await-event": "^2.1.0",
|
|
61
|
-
"content-type": "^1.0.5",
|
|
58
|
+
"@eggjs/router": "beta",
|
|
62
59
|
"egg-errors": "^2.3.0",
|
|
63
|
-
"globby": "^
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
60
|
+
"globby": "^14.1.0",
|
|
61
|
+
"path-to-regexp": "^1.9.0",
|
|
62
|
+
"sdk-base": "^5.0.1",
|
|
63
|
+
"@eggjs/egg-module-common": "4.0.0-beta.10",
|
|
64
|
+
"@eggjs/tegg": "4.0.0-beta.10",
|
|
65
|
+
"@eggjs/tegg-loader": "4.0.0-beta.10",
|
|
66
|
+
"@eggjs/tegg-common-util": "4.0.0-beta.10",
|
|
67
|
+
"@eggjs/tegg-metadata": "4.0.0-beta.10",
|
|
68
|
+
"@eggjs/tegg-runtime": "4.0.0-beta.10",
|
|
69
|
+
"@eggjs/tegg-types": "4.0.0-beta.10"
|
|
70
|
+
},
|
|
71
|
+
"peerDependencies": {
|
|
72
|
+
"egg": "beta",
|
|
73
|
+
"@eggjs/tegg-plugin": "4.0.0-beta.10"
|
|
69
74
|
},
|
|
70
75
|
"devDependencies": {
|
|
71
|
-
"@eggjs/
|
|
72
|
-
"@eggjs/
|
|
73
|
-
"@
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"ts-node": "^10.9.1",
|
|
82
|
-
"typescript": "^5.0.4"
|
|
76
|
+
"@eggjs/mock": "beta",
|
|
77
|
+
"@eggjs/tracer": "beta",
|
|
78
|
+
"@types/node": "^22.10.5",
|
|
79
|
+
"egg": "beta",
|
|
80
|
+
"typescript": "^5.9.3",
|
|
81
|
+
"tsdown": "^0.15.6",
|
|
82
|
+
"unplugin-unused": "^0.5.3",
|
|
83
|
+
"@eggjs/module-test-util": "4.0.0-beta.4",
|
|
84
|
+
"@eggjs/tegg-config": "4.0.0-beta.10",
|
|
85
|
+
"@eggjs/tegg-plugin": "4.0.0-beta.10"
|
|
83
86
|
},
|
|
84
87
|
"publishConfig": {
|
|
85
88
|
"access": "public"
|
|
86
89
|
},
|
|
87
|
-
"
|
|
88
|
-
|
|
90
|
+
"main": "./dist/index.js",
|
|
91
|
+
"module": "./dist/index.js",
|
|
92
|
+
"types": "./dist/index.d.ts",
|
|
93
|
+
"scripts": {
|
|
94
|
+
"clean": "rimraf dist",
|
|
95
|
+
"build": "tsdown && rimraf dist && tsc -b --clean && tsc",
|
|
96
|
+
"typecheck": "tsc --noEmit"
|
|
97
|
+
}
|
|
98
|
+
}
|