s3: ensure BoxError return

This commit is contained in:
Girish Ramakrishnan
2019-12-05 21:50:44 -08:00
parent 3926efd153
commit 905bb92bad
2 changed files with 17 additions and 14 deletions

View File

@@ -165,7 +165,7 @@ function listDir(apiConfig, dir, batchSize, iteratorCallback, callback) {
async.whilst(() => !done, function listAndDownload(whilstCallback) {
s3.listObjects(listParams, function (error, listData) {
if (error) return whilstCallback(error);
if (error) return whilstCallback(new BoxError(BoxError.EXTERNAL_ERROR, error.message || error.code));
if (listData.Contents.length === 0) { done = true; return whilstCallback(); }
@@ -280,7 +280,7 @@ function copy(apiConfig, oldFilePath, newFilePath) {
events.emit('progress', `Uploaded part ${partCopyParams.PartNumber} - Etag: ${result.CopyPartResult.ETag}`);
if (!result.CopyPartResult.ETag) return done(new BoxError(BoxError.EXTERNAL_ERROR, 'Multi-part copy is broken or not implemented by the S3 storage provider'));
if (!result.CopyPartResult.ETag) return done(new Error('Multi-part copy is broken or not implemented by the S3 storage provider'));
uploadedParts.push({ ETag: result.CopyPartResult.ETag, PartNumber: partNumber });
@@ -349,9 +349,9 @@ function remove(apiConfig, filename, callback) {
// deleteObjects does not return error if key is not found
s3.deleteObjects(deleteParams, function (error) {
if (error) debug(`remove: Unable to remove ${deleteParams.Key}. error: ${error.message}`);
if (error) return callback(new BoxError(BoxError.EXTERNAL_ERROR, `Unable to remove ${deleteParams.Key}. error: ${error.message || error.code}`)); // DO sets 'code'
callback(error);
callback(null);
});
});
}
@@ -386,9 +386,12 @@ function removeDir(apiConfig, pathPrefix) {
// deleteObjects does not return error if key is not found
s3.deleteObjects(deleteParams, function (error /*, deleteData */) {
if (error) events.emit('progress', `Unable to remove ${deleteParams.Key} ${error.message}`);
if (error) {
events.emit('progress', `Unable to remove ${deleteParams.Key} ${error.message || error.code}`);
return iteratorCallback(new BoxError(BoxError.EXTERNAL_ERROR, `Unable to remove ${deleteParams.Key}. error: ${error.message || error.code}`)); // DO sets 'code'
}
iteratorCallback(error);
iteratorCallback(null);
});
}, done);
}, function (error) {