Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
constructor(config) {
this.verbose = config.verbose || false
this.encoding = config.encoding || 'utf8'
if (config.localPath) {
// use local files (using mock aws sdk)
s3Mock.config.basePath = config.localPath
this.s3Instance = new s3Mock.S3()
} else {
// use the aws sdk. attempt to use aws credentials in config. if they
// are not present, the aws sdk could pick them up in ~/.aws/credentials
if (config.accessKeyId && config.secretAccessKey) {
aws.config.update({
accessKeyId: config.accessKeyId,
secretAccessKey: config.secretAccessKey
})
}
// Create AWS S3 object
this.s3Instance = new aws.S3({
maxRetries: config.maxRetries || 10,
signatureVersion: config.signatureVersion || 'v4',
var filePairOptions = {
differential: options.differential,
stream: options.stream,
flipExclude: false,
exclude: false
};
// Replace the AWS SDK by the mock package if we're testing
if (options.mock) {
AWS = require('mock-aws-s3');
}
if (options.awsProfile) {
var credentials = new AWS.SharedIniFileCredentials({profile: options.awsProfile});
AWS.config.credentials = credentials;
}
if (['dots','progressBar','none'].indexOf(options.progress) < 0) {
grunt.log.writeln('Invalid progress option; defaulting to dots\n'.yellow);
options.progress = 'dots';
}
// List of acceptable params for an upload
var put_params = ['CacheControl', 'ContentDisposition', 'ContentEncoding',
'ContentLanguage', 'ContentLength', 'ContentMD5', 'Expires', 'GrantFullControl',
'GrantRead', 'GrantReadACP', 'GrantWriteACP', 'Metadata', 'ServerSideEncryption',
'StorageClass', 'WebsiteRedirectLocation', 'ContentType'];
// Checks that all params are in put_params
var isValidParams = function (params) {