diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-09-01 17:38:33 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-09-01 17:38:33 +0200 |
commit | cf601d97ad3d886c9f2360e29e873cc231918d5d (patch) | |
tree | 7aa7d683eb60b8fdcac10903dbd71b61117f7f85 | |
parent | 80edad53d49886b6dadaa380e91a89a5952ed967 (diff) | |
download | gitbook-cf601d97ad3d886c9f2360e29e873cc231918d5d.zip gitbook-cf601d97ad3d886c9f2360e29e873cc231918d5d.tar.gz gitbook-cf601d97ad3d886c9f2360e29e873cc231918d5d.tar.bz2 |
Improve error handling for failed image download
-rw-r--r-- | lib/utils/fs.js | 4 | ||||
-rw-r--r-- | lib/utils/page.js | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/utils/fs.js b/lib/utils/fs.js index 98a3a87..176a215 100644 --- a/lib/utils/fs.js +++ b/lib/utils/fs.js @@ -64,6 +64,10 @@ function writeStream(filename, st) { d.reject(err); }); + st.on('error', function(err) { + d.reject(err); + }); + st.pipe(wstream); return d.promise; diff --git a/lib/utils/page.js b/lib/utils/page.js index f24013f..fde2eaa 100644 --- a/lib/utils/page.js +++ b/lib/utils/page.js @@ -285,7 +285,13 @@ function convertImages(images, options) { if (!image.origin && !_.contains(downloaded, image.origin)) return; options.book.log.debug("download image", image.origin, "..."); downloaded.push(image.origin); - return options.book.log.debug.promise(fs.writeStream(imgin, request(image.origin))); + return options.book.log.debug.promise(fs.writeStream(imgin, request(image.origin))) + .fail(function(err) { + if (!_.isError(err)) err = new Error(err); + + err.message = 'Fail downloading '+image.origin+': '+err.message; + throw err; + }); }) // Write svg if content |