File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -273,19 +273,35 @@ export function setClientErrorHandler(
273273 logger : Logger ,
274274) : void {
275275 server . on ( 'clientError' , ( err , socket ) => {
276- let msg = '400 Bad Request'
277- if ( ( err as any ) . code === 'HPE_HEADER_OVERFLOW' ) {
278- msg = '431 Request Header Fields Too Large'
279- logger . warn (
280- colors . yellow (
281- 'Server responded with status code 431. ' +
282- 'See https://vite.dev/guide/troubleshooting.html#_431-request-header-fields-too-large.' ,
283- ) ,
284- )
276+ // https://github.com/nodejs/node/blob/v26.2.0/lib/_http_server.js#L992
277+ let msg
278+ switch ( ( err as any ) . code ) {
279+ case 'HPE_HEADER_OVERFLOW' : {
280+ msg = '431 Request Header Fields Too Large'
281+ logger . warn (
282+ colors . yellow (
283+ 'Server responded with status code 431. ' +
284+ 'See https://vite.dev/guide/troubleshooting.html#_431-request-header-fields-too-large.' ,
285+ ) ,
286+ )
287+ break
288+ }
289+ case 'HPE_CHUNK_EXTENSIONS_OVERFLOW' : {
290+ msg = '413 Payload Too Large'
291+ break
292+ }
293+ case 'ERR_HTTP_REQUEST_TIMEOUT' : {
294+ msg = '408 Request Timeout'
295+ break
296+ }
297+ default : {
298+ msg = '400 Bad Request'
299+ break
300+ }
285301 }
286302 if ( ( err as any ) . code === 'ECONNRESET' || ! socket . writable ) {
287303 return
288304 }
289- socket . end ( `HTTP/1.1 ${ msg } \r\n\r\n` )
305+ socket . end ( `HTTP/1.1 ${ msg } \r\nConnection: close\r\ n\r\n` )
290306 } )
291307}
You can’t perform that action at this time.
0 commit comments