in cloudformationTemplates/asyncCustomerChatUX/js/websiteHelper.js [89:133]
let uploadFile = function(fileList, index, destS3Bucket, destS3KeyPrefix, sourceS3prefix, cb) {
if (fileList.length > index) {
let params = {
Bucket: destS3Bucket,
Key: destS3KeyPrefix + fileList[index],
CopySource: [sourceS3prefix, fileList[index]].join('')
};
console.log("CopySource: " + [sourceS3prefix, fileList[index]].join(''));
if (fileList[index].endsWith('.htm') || fileList[index].endsWith('.html')) {
params.ContentType = "text/html";
params.MetadataDirective = "REPLACE";
} else if (fileList[index].endsWith('.css')) {
params.ContentType = "text/css";
params.MetadataDirective = "REPLACE";
} else if (fileList[index].endsWith('.js')) {
params.ContentType = "application/javascript";
params.MetadataDirective = "REPLACE";
}
s3.copyObject(params, function(err, data) {
if (err) {
return cb(['error copying ', [sourceS3prefix, fileList[index]].join(''), '\n', err].join(''), null);
}
console.log([
[sourceS3prefix, fileList[index]].join(''),
'uploaded successfully'
].join(' '));
let _next = index + 1;
uploadFile(fileList, _next, destS3Bucket, destS3KeyPrefix, sourceS3prefix, function(err, resp) {
if (err) {
return cb(err, null);
}
cb(null, resp);
});
});
} else {
cb(null, [index, 'files copied'].join(' '));
}
};