Skip to content

Commit ba62be4

Browse files
authored
fix: close socket when client error handled (#9816)
1 parent 05b3ce6 commit ba62be4

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

Diff for: packages/vite/src/node/http.ts

+6
Original file line numberDiff line numberDiff line change
@@ -190,13 +190,19 @@ export function setClientErrorHandler(
190190
logger: Logger
191191
): void {
192192
server.on('clientError', (err, socket) => {
193+
let msg = '400 Bad Request'
193194
if ((err as any).code === 'HPE_HEADER_OVERFLOW') {
195+
msg = '431 Request Header Fields Too Large'
194196
logger.warn(
195197
colors.yellow(
196198
'Server responded with status code 431. ' +
197199
'See https://vitejs.dev/guide/troubleshooting.html#_431-request-header-fields-too-large.'
198200
)
199201
)
200202
}
203+
if ((err as any).code === 'ECONNRESET' || !socket.writable) {
204+
return
205+
}
206+
socket.end(`HTTP/1.1 ${msg}\r\n\r\n`)
201207
})
202208
}

0 commit comments

Comments
 (0)