in source/custom-resource/lib/s3-helper.js [161:201]
_uploadFile(filelist, index, destS3Bucket, sourceS3prefix) {
let _self = this;
return new Promise((resolve, reject) => {
if (filelist.length > index) {
let params = {
Bucket: destS3Bucket,
Key: filelist[index],
CopySource: [sourceS3prefix, filelist[index]].join('/'),
MetadataDirective: 'REPLACE'
};
params.ContentType = this._setContentType(filelist[index]);
params.Metadata = {
'Content-Type': params.ContentType
};
console.log(params);
let s3 = new AWS.S3({
signatureVersion: 'v4'
});
s3.copyObject(params, function(err, data) {
if (err) {
console.log(err);
reject(`error copying ${sourceS3prefix}/${filelist[index]}\n${err}`);
} else {
console.log(`${sourceS3prefix}/${filelist[index]} uploaded successfully`);
let _next = index + 1;
_self._uploadFile(filelist, _next, destS3Bucket, sourceS3prefix).then((resp) => {
resolve(resp);
}).catch((err2) => {
reject(err2);
});
}
});
} else {
resolve(`${index} files copied`);
}
});
}