Created
January 6, 2019 15:35
-
-
Save gpsarkar/220b73e69b49ed623ab9d596f4c7ce59 to your computer and use it in GitHub Desktop.
csp report uri lambda
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const doc = require('dynamodb-doc'); | |
| const dynamo = new doc.DynamoDB(); | |
| const uuidv4 = require('uuid/v4'); | |
| exports.handler = (event, context, callback) => { | |
| // Callback to finish response | |
| const done = (err, res) => callback(null, { | |
| statusCode: err ? '400' : '204', | |
| body: err ? err.message : '', | |
| headers: { | |
| 'Content-Type': 'application/json', | |
| } | |
| }); | |
| switch (event.httpMethod) { | |
| case 'POST': | |
| var reqJson = JSON.parse(event.body, (key, value) => { | |
| if (value === null || value === '') { | |
| return "NA"; | |
| } | |
| return value; | |
| }); | |
| if(!reqJson.hasOwnProperty('csp-report')) { | |
| done(); | |
| break; | |
| } | |
| var item = reqJson["csp-report"]; | |
| item.id = uuidv4(); | |
| item.timestamp = new Date().getTime().toString(); | |
| dynamo.putItem({ | |
| TableName: process.env.table, | |
| Item: item | |
| }, done); | |
| break; | |
| default: | |
| done(new Error('Unsupported method')); | |
| } | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment