From b275d0e55f3448dd14f834b7e8732092af72c6bc Mon Sep 17 00:00:00 2001 From: Dorseuil Nicolas Date: Thu, 8 Aug 2024 13:39:38 +0200 Subject: [PATCH 1/2] fix lambda hanging after return --- packages/open-next/src/types/aws-lambda.ts | 2 +- packages/open-next/src/wrappers/aws-lambda-streaming.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/open-next/src/types/aws-lambda.ts b/packages/open-next/src/types/aws-lambda.ts index 22d720587..1516f2ae0 100644 --- a/packages/open-next/src/types/aws-lambda.ts +++ b/packages/open-next/src/types/aws-lambda.ts @@ -9,7 +9,7 @@ export interface ResponseStream extends Writable { type Handler = ( event: APIGatewayProxyEventV2, responseStream: ResponseStream, - context?: Context, + context: Context, ) => Promise; interface Metadata { diff --git a/packages/open-next/src/wrappers/aws-lambda-streaming.ts b/packages/open-next/src/wrappers/aws-lambda-streaming.ts index 33c9adfc3..ba046055d 100644 --- a/packages/open-next/src/wrappers/aws-lambda-streaming.ts +++ b/packages/open-next/src/wrappers/aws-lambda-streaming.ts @@ -23,7 +23,12 @@ function formatWarmerResponse(event: WarmerEvent) { const handler: WrapperHandler = async (handler, converter) => awslambda.streamifyResponse( - async (event: AwsLambdaEvent, responseStream): Promise => { + async ( + event: AwsLambdaEvent, + responseStream, + context, + ): Promise => { + context.callbackWaitsForEmptyEventLoop = false; if ("type" in event) { const result = await formatWarmerResponse(event); responseStream.end(Buffer.from(JSON.stringify(result)), "utf-8"); From c18999ccdbda5552fbeae43c3c59ab46cb840f58 Mon Sep 17 00:00:00 2001 From: conico974 Date: Tue, 20 Aug 2024 17:14:21 +0200 Subject: [PATCH 2/2] Create lucky-ravens-teach.md --- .changeset/lucky-ravens-teach.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/lucky-ravens-teach.md diff --git a/.changeset/lucky-ravens-teach.md b/.changeset/lucky-ravens-teach.md new file mode 100644 index 000000000..f541f11a5 --- /dev/null +++ b/.changeset/lucky-ravens-teach.md @@ -0,0 +1,5 @@ +--- +"open-next": patch +--- + +fix lambda streaming hanging after return