Skip to content

Commit e5678b3

Browse files
make sure edge function entries are properly awaited (#704)
1 parent 1981a47 commit e5678b3

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

.changeset/smart-carrots-build.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@opennextjs/aws": patch
3+
---
4+
5+
fix: make sure edge function entries are properly awaited

packages/open-next/src/core/edgeFunctionHandler.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ export default async function edgeFunctionHandler(
1717
throw new Error(`No route found for ${request.url}`);
1818
}
1919

20-
const result = await self._ENTRIES[
21-
`middleware_${correspondingRoute.name}`
22-
].default({
20+
const entry = await self._ENTRIES[`middleware_${correspondingRoute.name}`];
21+
22+
const result = await entry.default({
2323
page: correspondingRoute.page,
2424
request: {
2525
...request,

packages/open-next/src/types/global.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,15 @@ export interface RequestData {
3737
signal: AbortSignal;
3838
}
3939

40+
interface Entry {
41+
default: (props: { page: string; request: RequestData }) => Promise<{
42+
response: Response;
43+
waitUntil: Promise<void>;
44+
}>;
45+
}
46+
4047
interface Entries {
41-
[k: string]: {
42-
default: (props: { page: string; request: RequestData }) => Promise<{
43-
response: Response;
44-
waitUntil: Promise<void>;
45-
}>;
46-
};
48+
[k: string]: Entry | Promise<Entry>;
4749
}
4850

4951
export interface EdgeRoute {

0 commit comments

Comments
 (0)