Skip to content

Instantly share code, notes, and snippets.

@here
Created June 13, 2017 02:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save here/9446110449448cdc2fb6c20c2d8d1685 to your computer and use it in GitHub Desktop.
Save here/9446110449448cdc2fb6c20c2d8d1685 to your computer and use it in GitHub Desktop.
'use strict';
console.log('Loading function');
let doc = require('dynamodb-doc');
let dynamo = new doc.DynamoDB();
/**
* Provide an event that contains the following keys:
*
* - operation: one of the operations in the switch statement below
* - tableName: required for operations that interact with DynamoDB
* - payload: a parameter to pass to the operation being performed
*/
exports.handler = (event, context, callback) => {
//console.log('Received event:', JSON.stringify(event, null, 2));
const operation = event.operation;
/*
if (event.tableName) {
event.payload.TableName = event.tableName;
}
switch (operation) {
case 'create':
dynamo.putItem(event.payload, callback);
break;
case 'read':
dynamo.getItem(event.payload, callback);
break;
case 'update':
dynamo.updateItem(event.payload, callback);
break;
case 'delete':
dynamo.deleteItem(event.payload, callback);
break;
case 'list':
dynamo.scan(event.payload, callback);
break;
case 'echo':
callback(null, event.payload);
break;
case 'ping':
callback(null, 'pong');
break;
default:
callback(new Error(`Unrecognized operation "${operation}"`));
}
*/
/*
* Lambda Header Method Models
* https://kennbrodhagen.net/2015/12/02/how-to-access-http-headers-using-aws-api-gateway-and-lambda/
exports.handler = function(event, context) {
console.log('Request Headers:', event.headers);
console.log('Request Body', event.body);
context.succeed('Success');
};
*/
// Use event.headers
console.log('event.headers start');
console.log('Request Headers:', event.headers);
// integration.response.body.LocationXGeoReflector = 'duckduck';
//console.log('XGeoReflector: ' + integration.response.body.LocationXGeoReflector);
callback(null, {"X-Geo-Reflector" : event.headers['CloudFront-Viewer-Country']});
//callback(new Error(`Unrecognized operation "${operation}"`));
};
console.log('end of lambda definition');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment