Guest User

Untitled

a guest
May 23rd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. exports = function(payload) {
  2.  
  3. var queryArg = payload.query.arg || '';
  4. var body = {};
  5.  
  6. if (payload.body) {
  7. body = JSON.parse(payload.body.text());
  8. }
  9.  
  10. // Get x-signature header and create digest for comparison
  11. const signature = payload.headers['X-Signature'];
  12. const digest = utils.crypto.hmac(payload.body.text(),
  13. context.values.get("segment_shared_secret"), "sha1", "hex");
  14.  
  15. //Only write the data if the digest matches Segment's x-signature!
  16. if (digest == signature) {
  17.  
  18. let mongodb = context.services.get("mongodb-atlas");
  19.  
  20. // Set the collection up to write data
  21. let events = mongodb.db("segment").collection("events");
  22.  
  23. // Write the data
  24. events.insertOne(body);
  25.  
  26. } else {
  27. console.log("Digest didn't match");
  28. }
  29.  
  30. return queryArg + ' ' + body.msg;
  31. };
Add Comment
Please, Sign In to add comment