MCPcopy
hub / github.com/vitejs/vite / setClientErrorHandler

Function setClientErrorHandler

packages/vite/src/node/http.ts:271–307  ·  view source on GitHub ↗
(
  server: HttpServer,
  logger: Logger,
)

Source from the content-addressed store, hash-verified

269}
270
271export function setClientErrorHandler(
272 server: HttpServer,
273 logger: Logger,
274): void {
275 server.on('clientError', (err, socket) => {
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 }
301 }
302 if ((err as any).code === 'ECONNRESET' || !socket.writable) {
303 return
304 }
305 socket.end(`HTTP/1.1 ${msg}\r\nConnection: close\r\n\r\n`)
306 })
307}

Callers 2

previewFunction · 0.90
_createServerFunction · 0.90

Calls 2

onMethod · 0.65
warnMethod · 0.65

Tested by

no test coverage detected