harden code

Massimo Melina committed Apr 1, 2026 at 17:56 UTC 2d32347e5ac2ae5913b2e016ac2ec761934ebfdf
1 file changed +3 -3
src/index.ts
+3 -3
@@ -61,13 +61,13 @@ app.use(sessionMiddleware)
61 .on('error', errorHandler)
62 events.emit('app', app)
63
64 -function errorHandler(err:Error & { code:string, path:string }) {
64 +function errorHandler(err: Error & { code?: string, path?: string }) {
65 const { code } = err
66 - if (DEV && code === 'ENOENT' && err.path.endsWith('sockjs-node')) return // spam out dev stuff
66 + if (DEV && code === 'ENOENT' && err.path?.endsWith('sockjs-node')) return // spam out dev stuff
67 if (code === 'ECANCELED' || code === 'ECONNRESET' || code === 'ECONNABORTED' || code === 'EPIPE'
68 || code === 'ERR_STREAM_WRITE_AFTER_END' // happens disconnecting uploads, don't care
69 || code === 'ERR_STREAM_PREMATURE_CLOSE' // happens when many files are sent (not locally), but I checked that the files are written completely. Introduced after node18.5.0 and is thrown by pipeline() used by PUT method handler.
70 - || code.startsWith('HPE')) return // malformed client/probe HTTP parser errors, not internal failures
70 + || code?.startsWith('HPE')) return // malformed client/probe HTTP parser errors, not internal failures
71 console.error('server error', err)
72 }
73