From df1a33a97aa8be62afa3c049797403a75832961f Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Tue, 11 Mar 2025 12:01:39 +0000 Subject: [PATCH] fix(@angular/ssr): prevent stream draining if `write` does not return a boolean Implements a workaround for https://github.com/CodeGenieApp/serverless-express/issues/683 Closes #29801 --- packages/angular/ssr/node/src/response.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/angular/ssr/node/src/response.ts b/packages/angular/ssr/node/src/response.ts index 42cfd55eec1a..8f26bc319361 100644 --- a/packages/angular/ssr/node/src/response.ts +++ b/packages/angular/ssr/node/src/response.ts @@ -76,7 +76,9 @@ export async function writeResponseToNodeResponse( } const canContinue = (destination as ServerResponse).write(value); - if (!canContinue) { + if (canContinue === false) { + // Explicitly check for `false`, as AWS may return `undefined` even though this is not valid. + // See: https://github.com/CodeGenieApp/serverless-express/issues/683 await new Promise((resolve) => destination.once('drain', resolve)); } }