Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
var Dynalite = require('dynalite');
var Cardboard = require('../');
var fakeAWS = require('mock-aws-s3');
var queue = require('queue-async');
var dynalite;
var config = module.exports.config = {
accessKeyId: 'fake',
secretAccessKey: 'fake',
table: 'geo',
endpoint: 'http://localhost:4567',
bucket: 'test',
prefix: 'test',
region: 'us-east-1',
s3: fakeAWS.S3() // only for mocking s3
};
var dyno = module.exports.dyno = require('dyno')(config);
module.exports.setup = function(t, multi) {
dynalite = Dynalite({
createTableMs: 0,
updateTableMs: 0,
deleteTableMs: 0
});
dynalite.listen(4567, function() {
t.pass('dynalite listening');
var cardboard = Cardboard(config);
var q = queue(1);
q.defer(cardboard.createTable, config.table);
}
if (options.endpoint) {
s3_options.endpoint = options.endpoint;
}
if (options.params) {
if (!isValidParams(options.params)) {
grunt.warn('"params" can only be ' + put_params.join(', '));
}
}
// Allow additional (not required) options
_.extend(s3_options, _.pick(options, ['maxRetries', 'sslEnabled', 'httpOptions', 'signatureVersion', 's3ForcePathStyle']));
var s3 = new AWS.S3(s3_options);
var dest;
var is_expanded;
var objects = [];
var uploads = [];
// Because Grunt expands the files array automatically,
// we need to group the uploads together to make the difference between actions.
var pushUploads = function() {
if (uploads.length > 0) {
objects.push({ action: 'upload', files: uploads });
uploads = [];
}
};
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',
httpOptions: {