From 6d87f6f6fe81d691c5b19e7b97c1e5673f9d4571 Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Mon, 20 Jan 2025 12:58:04 +0000 Subject: [PATCH 1/2] make sure edge function entries are properly awaited --- packages/open-next/src/core/edgeFunctionHandler.ts | 6 +++--- packages/open-next/src/types/global.ts | 14 ++++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/open-next/src/core/edgeFunctionHandler.ts b/packages/open-next/src/core/edgeFunctionHandler.ts index c539d554a..90d215661 100644 --- a/packages/open-next/src/core/edgeFunctionHandler.ts +++ b/packages/open-next/src/core/edgeFunctionHandler.ts @@ -17,9 +17,9 @@ export default async function edgeFunctionHandler( throw new Error(`No route found for ${request.url}`); } - const result = await self._ENTRIES[ - `middleware_${correspondingRoute.name}` - ].default({ + const entry = await self._ENTRIES[`middleware_${correspondingRoute.name}`]; + + const result = await entry.default({ page: correspondingRoute.page, request: { ...request, diff --git a/packages/open-next/src/types/global.ts b/packages/open-next/src/types/global.ts index ab29f78d7..5a89b5e22 100644 --- a/packages/open-next/src/types/global.ts +++ b/packages/open-next/src/types/global.ts @@ -37,13 +37,15 @@ export interface RequestData { signal: AbortSignal; } +interface Entry { + default: (props: { page: string; request: RequestData }) => Promise<{ + response: Response; + waitUntil: Promise; + }>; +} + interface Entries { - [k: string]: { - default: (props: { page: string; request: RequestData }) => Promise<{ - response: Response; - waitUntil: Promise; - }>; - }; + [k: string]: Entry | Promise; } export interface EdgeRoute { From e4c87e33267ecd5858e4ad92ecc95b83a768a08d Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Mon, 20 Jan 2025 13:29:09 +0000 Subject: [PATCH 2/2] add missing changeset --- .changeset/smart-carrots-build.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/smart-carrots-build.md diff --git a/.changeset/smart-carrots-build.md b/.changeset/smart-carrots-build.md new file mode 100644 index 000000000..a620af93e --- /dev/null +++ b/.changeset/smart-carrots-build.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/aws": patch +--- + +fix: make sure edge function entries are properly awaited