avoid spamming console on interrupted PUT requests

Massimo Melina committed Jan 15, 2023 at 23:58 UTC 5f7accb9297896c7992eb3abc804fa40b49f6722
2 files changed +4 -3
src/index.ts
+2 -1
@@ -38,7 +38,8 @@ app.use(someSecurity)
38 function errorHandler(err:Error & { code:string, path:string }) {
39 const { code } = err
40 if (DEV && code === 'ENOENT' && err.path.endsWith('sockjs-node')) return // spam out dev stuff
41 - if (code === 'ECANCELED' || code === 'ECONNRESET' || code === 'ECONNABORTED' || code === 'EPIPE') return // someone interrupted, don't care
41 + if (code === 'ECANCELED' || code === 'ECONNRESET' || code === 'ECONNABORTED' || code === 'EPIPE'
42 + || code === 'HPE_INVALID_EOF_STATE') return // someone interrupted, don't care
43 console.error('server error', err)
44 }
45
src/middlewares.ts
+2 -2
@@ -81,7 +81,7 @@ export const serveGuiAndSharedFiles: Koa.Middleware = async (ctx, next) => {
81 const folder = await urlToNode(dirname(path), ctx, vfs, v => rest = v+'/'+rest)
82 if (!folder)
83 return ctx.status = HTTP_NOT_FOUND
84 - return await getUpload(folder, rest, ctx.req, ctx)
84 + return await receiveUpload(folder, rest, ctx.req, ctx)
85 }
86 const node = await urlToNode(path, ctx)
87 if (!node)
@@ -116,7 +116,7 @@ export const serveGuiAndSharedFiles: Koa.Middleware = async (ctx, next) => {
116 return serveFrontendFiles(ctx, next)
117 }
118
119 -async function getUpload(base: VfsNode, path: string, stream: Readable, ctx: Koa.Context) {
119 +async function receiveUpload(base: VfsNode, path: string, stream: Readable, ctx: Koa.Context) {
120 if (!base.source || !hasPermission(base, 'can_upload', ctx))
121 return ctx.status = base.can_upload === false ? HTTP_FORBIDDEN : HTTP_UNAUTHORIZED
122 path = join(base.source, path)