Skip to content

Commit

Permalink
fixed s3 validation bug
Browse files Browse the repository at this point in the history
  • Loading branch information
Liad Berko committed Feb 15, 2018
1 parent b567937 commit 8017a74
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 13 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@
"report-dir": "coverage"
},
"dependencies": {
"aws-sdk": "^2.192.0"
"aws-sdk": "^2.192.0",
"lodash": "^4.17.5"
},
"devDependencies": {
"bunyan": "^1.8.12",
"deepcopy": "^0.6.3",
"lodash": "^4.17.5",
"mocha": "^4.1.0",
"nyc": "^11.4.1",
"pkginfo": "^0.4.1",
Expand Down
10 changes: 5 additions & 5 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[![NPM Version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Test Coverage][coveralls-image]][coveralls-url]
<!--[![NPM Downloads][downloads-image]][downloads-url]-->
[![NPM Downloads][downloads-image]][downloads-url]

# aws-s3-multipart-copy

Expand All @@ -12,7 +12,7 @@ The module manages the copy parts order and bytes range according to the size of

** The package supports node 8 version and above.

[![NPM](https://nodei.co/npm/aws-s3-multipart-copy.png?downloads=true&downloadRank=true&stars=true)][npm-stats]
[![NPM](https://nodei.co/npm/aws-s3-multipart-copy.png)](https://nodei.co/npm/aws-s3-multipart-copy/)

## Installing

Expand Down Expand Up @@ -195,8 +195,8 @@ let options = {
[npm-url]: https://npmjs.org/package/aws-s3-multipart-copy
[travis-image]: https://api.travis-ci.org/LiadBerko/aws-s3-multipart-copy.svg?branch=master
[travis-url]: https://travis-ci.org/LiadBerko/aws-s3-multipart-copy
<!--[coveralls-image]: https://coveralls.io/repos/github/LiadBerko/aws-s3-multipart-copy/badge.svg?branch=master-->
<!--[coveralls-url]: https://coveralls.io/repos/github/LiadBerko/aws-s3-multipart-copy/badge.svg?branch=master-->
[coveralls-image]: https://coveralls.io/repos/github/LiadBerko/aws-s3-multipart-copy/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/repos/github/LiadBerko/aws-s3-multipart-copy/badge.svg?branch=master
[downloads-image]: http://img.shields.io/npm/dm/aws-s3-multipart-copy.svg?style=flat
[downloads-url]: https://npmjs.org/package/aws-s3-multipart-copy
<!--[npm-stats]: https://nodei.co/npm/aws-s3-multipart-copy/-->
[npm-stats]: https://nodei.co/npm/aws-s3-multipart-copy/
13 changes: 7 additions & 6 deletions src/copy-object-multipart.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use strict';

let AWS = require('aws-sdk');
let AWS = require('aws-sdk'),
_ = require('lodash');

const DEFAULT_COPY_PART_SIZE_BYTES = 50000000; // 50 MB in bytes
const DEFAULT_COPIED_OBJECT_PERMISSIONS = 'private';
Expand All @@ -11,7 +12,7 @@ let init = function (aws_s3_object, initialized_logger) {
s3 = aws_s3_object;
logger = initialized_logger;

if (!s3 || !(s3 instanceof AWS.S3)) {
if (!_.get(s3, '__proto__.api.fullName') || !(s3.__proto__.api.fullName === 'Amazon Simple Storage Service')) {
throw new Error('Invalid AWS.S3 object received');
} else {
if (logger && typeof logger.info === 'function' && typeof logger.error === 'function') {
Expand Down Expand Up @@ -103,23 +104,23 @@ function abortMultipartCopy(destination_bucket, copied_object_name, upload_id, r
})
.catch((err) => {
logger.error({ msg: 'abort multipart copy failed', context: request_context, error: err });

return Promise.reject(err);
})
.then((parts_list) => {
if (parts_list.Parts.length > 0) {
logger.error({ msg: 'abort multipart copy failed, copy parts were not removed', context: request_context, parts_list: parts_list });

let err = new Error('Abort procedure passed but copy parts were not removed')
err.details = parts_list;

return Promise.reject(err);
} else {
logger.info({ msg: 'multipart copy aborted successfully: ' + JSON.stringify(parts_list), context: request_context });

let err = new Error('multipart copy aborted');
err.details = params;

return Promise.reject(err);
}
});
Expand Down

0 comments on commit 8017a74

Please sign in to comment.