Skip to content

Commit ba535b7

Browse files
committed
handle error in middleware
1 parent 143f1c4 commit ba535b7

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

packages/open-next/src/adapters/middleware.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { InternalEvent, Origin } from "types/open-next";
22
import { runWithOpenNextRequestContext } from "utils/promise";
33

4-
import { debug } from "../adapters/logger";
4+
import { debug, error } from "../adapters/logger";
55
import { createGenericHandler } from "../core/createGenericHandler";
66
import {
77
resolveIncrementalCache,
@@ -57,7 +57,23 @@ const defaultHandler = async (internalEvent: InternalEvent) => {
5757
isISR: result.isISR,
5858
};
5959
}
60-
return externalRequestProxy.proxy(result.internalEvent);
60+
try {
61+
return externalRequestProxy.proxy(result.internalEvent);
62+
} catch (e) {
63+
error("External request failed.", e);
64+
return {
65+
type: "middleware",
66+
internalEvent: {
67+
...result.internalEvent,
68+
rawPath: "/500",
69+
url: "/500",
70+
method: "GET",
71+
},
72+
isExternalRewrite: result.isExternalRewrite,
73+
origin: false,
74+
isISR: result.isISR,
75+
};
76+
}
6177
}
6278

6379
debug("Middleware response", result);

0 commit comments

Comments
 (0)