[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( await this.sendError(
req, req,
res, res,
@@ -1493,7 +1495,6 @@ export default class DevServer {
} }
if (!shouldContinue) { if (!shouldContinue) {
const middlewareBody = await middlewareRes.buffer();
this.setResponseHeaders(res, requestId); this.setResponseHeaders(res, requestId);
if (middlewareBody.length > 0) { if (middlewareBody.length > 0) {
res.setHeader('content-length', middlewareBody.length); 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( test(
'[vercel dev] Middleware with an explicit 500 response', '[vercel dev] Middleware with an explicit 500 response',
testFixtureStdio('middleware-500-response', async (testPath: any) => { testFixtureStdio('middleware-500-response', async (testPath: any) => {
await testPath(500, '/', /EDGE_FUNCTION_INVOCATION_FAILED/); await testPath(500, '/', 'Example Error');
}) })
); );