check disk space on upload even when no minimum is set (consider it zero)
Massimo Melina committed
Feb 24, 2023 at 14:28 UTC
babef5527e4d3cd46a088331bc89090f761d0c74
1 file changed
+7
-4
src/upload.ts
+7
-4
@@ -27,13 +27,16 @@ export function uploadWriter(base: VfsNode, path: string, ctx: Koa.Context) {
27
const dir = dirname(fullPath)
28
const min = minAvailableMb.get() * (1 << 20)
29
const reqSize = Number(ctx.headers["content-length"])
30
- if (min && reqSize)
30
+ if (reqSize)
31
try {
32
- if (reqSize > getFreeDiskSync(dir) - min)
32
+ const free = getFreeDiskSync(dir)
33
+ if (typeof free !== 'number' || isNaN(free))
34
+ throw ''
35
+ if (reqSize > getFreeDiskSync(dir) - (min || 0))
36
return fail(HTTP_PAYLOAD_TOO_LARGE)
37
}
35
- catch(e) {
36
- console.warn("can't check disk size", String(e))
38
+ catch(e: any) {
39
+ console.warn("can't check disk size", e.message || String(e))
40
}
41
fs.mkdirSync(dir, { recursive: true })
42
const keepName = basename(fullPath).slice(-200)