in lambda/index.js [73:93]
function getUrl(id, callback) {
const params = {
TableName: process.env.DDB_TABLE,
Key: { id: { S: id } }
};
console.log('Fetching URL for', id);
dynamodb.getItem(params, (err, data) => {
if(err) {
console.error('getItem error:', err);
return done(500, JSON.stringify({error: 'Internal Server Error: ' + err}), 'application/json', callback);
}
if(data && data.Item && data.Item.target) {
let url = data.Item.target.S;
return done(301, url, 'text/plain', callback, {Location: url});
} else {
return done(404, '404 Not Found', 'text/plain', callback);
}
});
}