From 216aecd4330af4acfecb4bdd2090bd43aa690ced Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Wed, 17 Mar 2021 18:28:39 -0400 Subject: [PATCH] import/export: Use Error objects for errors, not strings --- src/node/handler/ExportHandler.js | 2 +- src/node/utils/Abiword.js | 8 +++----- src/node/utils/LibreOffice.js | 3 ++- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/node/handler/ExportHandler.js b/src/node/handler/ExportHandler.js index ea8dd4466..a13906b42 100644 --- a/src/node/handler/ExportHandler.js +++ b/src/node/handler/ExportHandler.js @@ -102,7 +102,7 @@ exports.doExport = async (req, res, padId, readOnlyId, type) => { // @TODO no Promise interface for convertors (yet) await new Promise((resolve, reject) => { convertor.convertFile(srcFile, destFile, type, (err) => { - err ? reject('convertFailed') : resolve(); + err ? reject(new Error('convertFailed')) : resolve(); }); }); } diff --git a/src/node/utils/Abiword.js b/src/node/utils/Abiword.js index c7e45e86d..f77b69cf2 100644 --- a/src/node/utils/Abiword.js +++ b/src/node/utils/Abiword.js @@ -35,9 +35,7 @@ if (os.type().indexOf('Windows') > -1) { abiword.stdout.on('data', (data) => { stdoutBuffer += data.toString(); }); abiword.stderr.on('data', (data) => { stdoutBuffer += data.toString(); }); abiword.on('exit', (code) => { - if (code !== 0) { - return callback(`Abiword died with exit code ${code}`); - } + if (code !== 0) return callback(new Error(`Abiword died with exit code ${code}`)); if (stdoutBuffer !== '') { console.log(stdoutBuffer); } @@ -61,13 +59,13 @@ if (os.type().indexOf('Windows') > -1) { abiword.stderr.on('data', (data) => { stdoutBuffer += data.toString(); }); abiword.on('exit', (code) => { spawnAbiword(); - stdoutCallback(`Abiword died with exit code ${code}`); + stdoutCallback(new Error(`Abiword died with exit code ${code}`)); }); abiword.stdout.on('data', (data) => { stdoutBuffer += data.toString(); // we're searching for the prompt, cause this means everything we need is in the buffer if (stdoutBuffer.search('AbiWord:>') !== -1) { - const err = stdoutBuffer.search('OK') !== -1 ? null : stdoutBuffer; + const err = stdoutBuffer.search('OK') !== -1 ? null : new Error(stdoutBuffer); stdoutBuffer = ''; if (stdoutCallback != null && !firstPrompt) { stdoutCallback(err); diff --git a/src/node/utils/LibreOffice.js b/src/node/utils/LibreOffice.js index 3c18df59c..04d330e35 100644 --- a/src/node/utils/LibreOffice.js +++ b/src/node/utils/LibreOffice.js @@ -59,7 +59,8 @@ const doConvertTask = (task, callback) => { soffice.on('exit', (code) => { clearTimeout(hangTimeout); if (code !== 0) { - return callback(`LibreOffice died with exit code ${code} and message: ${stdoutBuffer}`); + return callback( + new Error(`LibreOffice died with exit code ${code} and message: ${stdoutBuffer}`)); } callback(); });