mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
server: add handlerCtxBase
This commit is contained in:
1 file changed
+6
-2
@@ -322,6 +322,7 @@ export class WebService extends Service {
|
|||||||
HandlerCommon = HandlerCommon;
|
HandlerCommon = HandlerCommon;
|
||||||
Handler = Handler;
|
Handler = Handler;
|
||||||
ConnectionHandler = ConnectionHandler;
|
ConnectionHandler = ConnectionHandler;
|
||||||
|
handlerCtxBase = this.ctx;
|
||||||
|
|
||||||
constructor(ctx: Context, public config: WebServiceConfig) {
|
constructor(ctx: Context, public config: WebServiceConfig) {
|
||||||
super(ctx, 'server', true);
|
super(ctx, 'server', true);
|
||||||
@@ -420,6 +421,9 @@ ${c.response.status} ${endTime - startTime}ms ${c.response.length}`);
|
|||||||
}
|
}
|
||||||
socket.close();
|
socket.close();
|
||||||
});
|
});
|
||||||
|
this.ctx.inject(['server'], (c) => {
|
||||||
|
this.handlerCtxBase = c;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async listen() {
|
async listen() {
|
||||||
@@ -438,7 +442,7 @@ ${c.response.status} ${endTime - startTime}ms ${c.response.length}`);
|
|||||||
private async handleHttp(ctx: KoaContext, HandlerClass, checker) {
|
private async handleHttp(ctx: KoaContext, HandlerClass, checker) {
|
||||||
const { args } = ctx.HydroContext;
|
const { args } = ctx.HydroContext;
|
||||||
Object.assign(args, ctx.params);
|
Object.assign(args, ctx.params);
|
||||||
const h = new HandlerClass(ctx, this.ctx);
|
const h = new HandlerClass(ctx, this.handlerCtxBase);
|
||||||
ctx.handler = h;
|
ctx.handler = h;
|
||||||
const method = ctx.method.toLowerCase();
|
const method = ctx.method.toLowerCase();
|
||||||
try {
|
try {
|
||||||
@@ -511,7 +515,7 @@ ${c.response.status} ${endTime - startTime}ms ${c.response.length}`);
|
|||||||
|
|
||||||
private async handleWS(ctx: KoaContext, HandlerClass, checker, conn, layer) {
|
private async handleWS(ctx: KoaContext, HandlerClass, checker, conn, layer) {
|
||||||
const { args } = ctx.HydroContext;
|
const { args } = ctx.HydroContext;
|
||||||
const h = new HandlerClass(ctx, this.ctx);
|
const h = new HandlerClass(ctx, this.handlerCtxBase);
|
||||||
await this.ctx.parallel('connection/create', h);
|
await this.ctx.parallel('connection/create', h);
|
||||||
ctx.handler = h;
|
ctx.handler = h;
|
||||||
h.conn = conn;
|
h.conn = conn;
|
||||||
|
|||||||
Reference in new issue
Block a user