diff --git a/.gitignore b/.gitignore index 6b612e2..0ed10f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ node_modules dist .vscode +.idea reports .nyc_output .DS_Store diff --git a/src/server/service-invoker.ts b/src/server/service-invoker.ts index 9f25a0d..3854c88 100644 --- a/src/server/service-invoker.ts +++ b/src/server/service-invoker.ts @@ -27,7 +27,7 @@ export class ServiceInvoker { public async callService(context: ServiceContext) { try { await this.callTargetEndPoint(context); - if (this.mustCallNext()) { + if (this.mustCallNext(context)) { context.next(); } else if (this.debugger.enabled) { this.debugger('Ignoring next middlewares'); @@ -38,8 +38,8 @@ export class ServiceInvoker { } } - private mustCallNext() { - return !ServerContainer.get().ignoreNextMiddlewares && + private mustCallNext(context: ServiceContext) { + return !context.response.headersSent && !ServerContainer.get().ignoreNextMiddlewares && !this.serviceMethod.ignoreNextMiddlewares && !this.serviceClass.ignoreNextMiddlewares; }