in lib/post-sns.js [69:94]
exports.send = function(service, target, records, callback) {
switch(target.collapse) {
case "JSON": {
// We have multiple messages, collapse them in a single JSON Array
var entries = { Records: records.map(function(record) { return JSON.parse(record.data.toString()); }) };
service.publish({ TargetArn: target.destination, Message: JSON.stringify(entries) }, callback);
break;
}
case "concat-b64": {
// We have multiple messages, collapse them in a single buffer
var data = Buffer.concat([].concat.apply([], records.map(function(record) { return record.data; })));
service.publish({ TargetArn: target.destination, Message: data.toString('base64') }, callback);
break;
}
case "concat": {
// We have multiple messages, collapse them in a single buffer
var data = Buffer.concat([].concat.apply([], records.map(function(record) { return record.data; })));
service.publish({ TargetArn: target.destination, Message: data.toString() }, callback);
break;
}
default: {
// We have a single message, let's send it
service.publish({ TargetArn: target.destination, Message: records[0].data.toString() }, callback);
}
}
};