From c46edd4cad2d914daded4e6074a2f3362aa6d48f Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Fri, 11 Jan 2019 22:56:15 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BD=D0=B0=20=D0=BC=D0=B0=D0=BA=D1=81=D0=B8=D0=BC?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20=D1=80=D0=B0=D0=B7=D0=BC?= =?UTF-8?q?=D0=B5=D1=80=20=D1=81=D0=BA=D0=B0=D1=87=D0=B8=D0=B2=D0=B0=D0=B5?= =?UTF-8?q?=D0=BC=D0=BE=D0=B3=D0=BE=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/core/ReaderWorker.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/server/core/ReaderWorker.js b/server/core/ReaderWorker.js index f47280dd..d0baa496 100644 --- a/server/core/ReaderWorker.js +++ b/server/core/ReaderWorker.js @@ -15,6 +15,8 @@ class ReaderWorker { } async loadBook(wState, url) { + const maxDownloadSize = 10*1024*1024; + let errMes = ''; try { wState.set({state: 'download', step: 1, totalSteps: 3, url}); @@ -22,13 +24,16 @@ class ReaderWorker { const d = download(url); d.on('downloadProgress', progress => { wState.set({progress: Math.round(progress.percent*100)}); - }) - + if (progress.transferred > maxDownloadSize) { + errMes = 'file too big'; + d.destroy(); + } + }); await pipeline(d, fs.createWriteStream(`${this.tempDownloadDir}/${tempFilename}`)); wState.finish({step: 3, file: tempFilename}); } catch (e) { - wState.set({state: 'error', error: e.message}); + wState.set({state: 'error', error: (errMes ? errMes : e.message)}); } }