| ... | ... |
@@ -25,6 +25,7 @@ var cfg_sign_key = ""; |
| 25 | 25 |
var cfg_sign_key_format = ""; |
| 26 | 26 |
var cfg_auto_close = false; |
| 27 | 27 |
var cfg_wakeup_time = -1; |
| 28 |
+var cfg_extra_fields = []; |
|
| 28 | 29 |
|
| 29 | 30 |
var to_send = []; |
| 30 | 31 |
var senders = [new XMLHttpRequest(), new XMLHttpRequest()]; |
| ... | ... |
@@ -43,6 +44,15 @@ function sendPayload(payload) {
|
| 43 | 44 |
data.append(cfg_sign_field, sha.getHMAC(cfg_sign_field_format)); |
| 44 | 45 |
} |
| 45 | 46 |
|
| 47 |
+ if (cfg_extra_fields.length > 0) {
|
|
| 48 |
+ for (var i = 0; i < cfg_extra_fields.length; i += 1) {
|
|
| 49 |
+ var decoded = decodeURIComponent(cfg_extra_fields[i]).split("=");
|
|
| 50 |
+ var name = decoded.shift(); |
|
| 51 |
+ var value = decoded.join("=");
|
|
| 52 |
+ data.append(name, value); |
|
| 53 |
+ } |
|
| 54 |
+ } |
|
| 55 |
+ |
|
| 46 | 56 |
i_sender = 1 - i_sender; |
| 47 | 57 |
senders[i_sender].open("POST", cfg_endpoint, true);
|
| 48 | 58 |
senders[i_sender].send(data); |
| ... | ... |
@@ -95,6 +105,9 @@ Pebble.addEventListener("ready", function() {
|
| 95 | 105 |
var str_to_send = localStorage.getItem("toSend");
|
| 96 | 106 |
to_send = str_to_send ? str_to_send.split("|") : [];
|
| 97 | 107 |
|
| 108 |
+ var str_extra_fields = localStorage.getItem("extraFields");
|
|
| 109 |
+ cfg_extra_fields = str_extra_fields ? str_extra_fields.split(",") : [];
|
|
| 110 |
+ |
|
| 98 | 111 |
cfg_endpoint = localStorage.getItem("cfgEndpoint");
|
| 99 | 112 |
cfg_data_field = localStorage.getItem("cfgDataField");
|
| 100 | 113 |
cfg_bundle_max = parseInt(localStorage.getItem("cfgBundleMax") || "1", 10);
|
| ... | ... |
@@ -167,6 +180,10 @@ Pebble.addEventListener("showConfiguration", function() {
|
| 167 | 180 |
settings += "&wakeup=" + cfg_wakeup_time.toString(10); |
| 168 | 181 |
} |
| 169 | 182 |
|
| 183 |
+ if (cfg_extra_fields.length > 0) {
|
|
| 184 |
+ settings += "&extra=" + cfg_extra_fields.join(",");
|
|
| 185 |
+ } |
|
| 186 |
+ |
|
| 170 | 187 |
Pebble.openURL("https://cdn.rawgit.com/faelys/pebble-health-export/v1.0/config.html" + settings);
|
| 171 | 188 |
}); |
| 172 | 189 |
|
| ... | ... |
@@ -245,6 +262,13 @@ Pebble.addEventListener("webviewclosed", function(e) {
|
| 245 | 262 |
console.log("Invalid wakeupTime \"" + configData.wakeupTime + "\"");
|
| 246 | 263 |
} |
| 247 | 264 |
|
| 265 |
+ if (configData.extraFields !== null) {
|
|
| 266 |
+ console.log("received extraFields \"" + configData.extraFields + "\"");
|
|
| 267 |
+ cfg_extra_fields = configData.extraFields |
|
| 268 |
+ ? configData.extraFields.split(",") : [];
|
|
| 269 |
+ localStorage.setItem("extraFields", cfg_extra_fields.join(","));
|
|
| 270 |
+ } |
|
| 271 |
+ |
|
| 248 | 272 |
if (configData.resend) {
|
| 249 | 273 |
senders[0].abort(); |
| 250 | 274 |
senders[1].abort(); |