Browse code

Send HMAC signature of the payload when configured to do so

Natasha Kerensikova authored on20/04/2016 19:03:24
Showing1 changed files
... ...
@@ -28,10 +28,19 @@ var to_send = [];
28 28
 var senders = [new XMLHttpRequest(), new XMLHttpRequest()];
29 29
 var i_sender = 1;
30 30
 var bundle_size = 0;
31
+var jsSHA = require("sha");
31 32
 
32 33
 function sendPayload(payload) {
33 34
    var data = new FormData();
34 35
    data.append(cfg_data_field, payload);
36
+
37
+   if (cfg_sign_field) {
38
+      var sha = new jsSHA(cfg_sign_algo, "TEXT");
39
+      sha.setHMACKey(cfg_sign_key, cfg_sign_key_format);
40
+      sha.update(payload);
41
+      data.append(cfg_sign_field, sha.getHMAC(cfg_sign_field_format));
42
+   }
43
+
35 44
    i_sender = 1 - i_sender;
36 45
    senders[i_sender].open("POST", cfg_endpoint, true);
37 46
    senders[i_sender].send(data);