in application/scoreboard/js/scoreboard.kinesisinherited.js [72:122]
retrieveData(callback) {
var self = this;
if (this.updateHasFinished) {
if (this.currentShardIterator) {
var params = {
ShardIterator: self.currentShardIterator
};
self.kinesis.getRecords(params, function (err, data) {
if (err) {
console.log(err.code);
console.log(err);
switch(err.code) {
case "ExpiredIteratorException":
self.getInitializeShardIteratorFunction()();
callback(null,null);
break;
case "CredentialsError":
self.awsfacade.refreshSession((err,data) => {
if (err) {
console.log(err.code);
console.log(err);
console.log("FAILURE REFRESHING SESSION");
callback(err,null);
} else {
// initialize services with new credentials
console.log("SESSION CREDENTIALS refreshed")
self.initializeAWSServices();
callback(null,data);
}
});
break;
default:
callback(err,null);
};
}
else {
if (data) {
if (data.Records && data.Records.length > 0)
self.updateScoreboard(data.Records);
self.currentShardIterator = data.NextShardIterator;
callback(null,data);
}
}
});
} else {
var err = new Error("CurrentShardIterator is null.");
err.code = "NullShardIterator";
callback(err,null);
}
} else callback(null,null);
};