From 1e7be1406aacc9d1cb5ff5144e7eb3a503f53e68 Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Tue, 3 Dec 2024 09:14:02 +0100 Subject: [PATCH] fix(cloudflare): fix the node wrapper Returns the response converted from the internal event. It fixes a "This ReadableStream did not return bytes" workerd error. --- .changeset/giant-parrots-hear.md | 5 +++++ .../open-next/src/overrides/wrappers/cloudflare-node.ts | 9 ++------- 2 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 .changeset/giant-parrots-hear.md diff --git a/.changeset/giant-parrots-hear.md b/.changeset/giant-parrots-hear.md new file mode 100644 index 000000000..afe4ec74d --- /dev/null +++ b/.changeset/giant-parrots-hear.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/aws": patch +--- + +fix(cloudflare): fix the node wrapper diff --git a/packages/open-next/src/overrides/wrappers/cloudflare-node.ts b/packages/open-next/src/overrides/wrappers/cloudflare-node.ts index f48f81fd9..54e46cc32 100644 --- a/packages/open-next/src/overrides/wrappers/cloudflare-node.ts +++ b/packages/open-next/src/overrides/wrappers/cloudflare-node.ts @@ -31,9 +31,6 @@ const handler: WrapperHandler = const url = new URL(internalEvent.url); (internalEvent.url as string) = url.href.slice(url.origin.length); - const { promise: promiseResponse, resolve: resolveResponse } = - Promise.withResolvers(); - const streamCreator: StreamCreator = { writeHeaders(prelude: { statusCode: number; @@ -52,7 +49,6 @@ const handler: WrapperHandler = status: statusCode, headers: responseHeaders, }); - resolveResponse(response); return Writable.fromWeb(writable); }, @@ -60,9 +56,8 @@ const handler: WrapperHandler = onFinish: (_length: number) => {}, }; - ctx.waitUntil(handler(internalEvent, streamCreator)); - - return promiseResponse; + const internalResult = await handler(internalEvent, streamCreator); + return converter.convertTo(internalResult); }; export default {