[cli] Fix middleware 500 in vc dev (#8833)

The status code no longer prints the generic error page.
This commit is contained in:
Steven
2022-11-01 21:43:18 -04:00
committed by GitHub
parent 6405fb51a1
commit 11d0091393
3 changed files with 5 additions and 4 deletions

View File

@@ -1448,7 +1448,9 @@ export default class DevServer {
}
);
if (middlewareRes.status === 500) {
const middlewareBody = await middlewareRes.buffer();
if (middlewareRes.status === 500 && middlewareBody.byteLength === 0) {
await this.sendError(
req,
res,
@@ -1493,7 +1495,6 @@ export default class DevServer {
}
if (!shouldContinue) {
const middlewareBody = await middlewareRes.buffer();
this.setResponseHeaders(res, requestId);
if (middlewareBody.length > 0) {
res.setHeader('content-length', middlewareBody.length);

View File

@@ -1 +1 @@
export default () => new Response(null, { status: 500 });
export default () => new Response('Example Error', { status: 500 });

View File

@@ -551,7 +551,7 @@ test(
test(
'[vercel dev] Middleware with an explicit 500 response',
testFixtureStdio('middleware-500-response', async (testPath: any) => {
await testPath(500, '/', /EDGE_FUNCTION_INVOCATION_FAILED/);
await testPath(500, '/', 'Example Error');
})
);