From 8e9c4870d9437e9d6f4d16f5ca3376a999a51fb0 Mon Sep 17 00:00:00 2001 From: Nick Loomans Date: Thu, 23 Dec 2021 10:43:01 +1300 Subject: [PATCH] Add headersSent check before calling next() --- .gitignore | 1 + src/server/service-invoker.ts | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) 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; }