next.js
d97af317 - Fix header resent when error occured (#55619)

Commit
2 years ago
Fix header resent when error occured (#55619) When errors are thrown in middleware it could re-send headers for the same response ``` Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client at __node_internal_captureLargerStackTrace (node:internal/errors:490:5) at new NodeError (node:internal/errors:399:5) at ServerResponse.setHeader (node:_http_outgoing:645:11) at origSetHeader (/next.js/packages/next/src/server/base-server.ts:777:16) at ServerResponse._res.setHeader (/next.js/packages/next/src/server/base-s erver.ts:777:16) at setHeader (/next.js/packages/next/src/server/base-http/node.ts:84:15) at renderErrorImpl (/next.js/packages/next/src/server/base-server.ts:2790: 11) at <anonymous> (/next.js/packages/next/src/server/base-server.ts:2777:19) at trace (/next.js/packages/next/src/server/lib/trace/tracer.ts:213:14) at DevServer.renderError (/next.js/packages/next/src/server/base-server.ts :2776:24) at DevServer.renderError (/next.js/packages/next/src/server/next-server.ts :1299:18) at DevServer.handleRequestImpl (/next.js/packages/next/src/server/base-ser ver.ts:1185:23) { code: 'ERR_HTTP_HEADERS_SENT' } ``` Migrate middleware-errors test to e2e test to avoid flaky assertion due to duplicated logging collected in integration test. Closes NEXT-1629
Author
Parents
Loading