Modified action and webhook
diff --git a/sendMessage.js b/sendMessage.js
index 1124bb7..4603515 100644
--- a/sendMessage.js
+++ b/sendMessage.js
@@ -147,38 +147,27 @@
sendMessage.settings.gcm = gcm;
}
- var body = JSON.stringify(sendMessage);
- console.log("JSON body to IMF Push is " + body);
+ var bodyData = JSON.stringify(sendMessage);
+ var request = require('request');
+
+ request({
+ method: 'post',
+ uri: 'https://mobile.ng.bluemix.net/imfpush/v1/apps/'+appId+'/messages',
+ headers :{
+ 'appSecret': appSecret,
+ 'Accept': 'application/json',
+ 'Accept-Language': 'en-US',
+ 'Content-Type': 'application/json',
+ 'Content-Length': bodyData.length
+ },
+ body:bodyData
+ }, function(error, response, body) {
- var headers = {
- 'appSecret': appSecret,
- 'Accept': 'application/json',
- 'Accept-Language': 'en-US',
- 'Content-Type': 'application/json',
- 'Content-Length': body.length
- };
- var options = {
- host: 'mobile.ng.bluemix.net',
- path: '/imfpush/v1/apps/'+appId+'/messages',
- method: 'POST',
- headers: headers
- };
-
- var request = https.request(options, function(res) {
- var json = '';
- console.log('RESPONSE STATUS: ' + res.statusCode);
- console.log('RESPONSE HEADERS: ' + JSON.stringify(res.headers));
- res.setEncoding('utf8');
- res.on('data', function (chunk) {
- json += chunk;
- });
- res.on('end', function() {
- return whisk.done({pushResponse: JSON.parse(json)});
- });
+ if(error){
+ return whisk.error();
+ }
+ return whisk.done({pushResponse: JSON.stringify(body, undefined, 4)});
});
-
- request.write(body);
- request.end();
return whisk.async();
}
diff --git a/webhook.js b/webhook.js
index b2100c2..75bc6de 100644
--- a/webhook.js
+++ b/webhook.js
@@ -11,7 +11,6 @@
function main(params) {
console.log("push trigger feed params: ", params);
-
var parsedName = parseQName(params.triggerName);
var trigger = parsedName.name;
var namespace = parsedName.namespace;
@@ -21,32 +20,35 @@
var appId = params.appId;
var appSecret = params.appSecret;
// The URL to create the webhook on push service
- var registrationEndpoint = 'https://mobile.ng.bluemix.net/imfpush/v1/apps/' + appId + '/webhooks/' + trigger;
- var lifecycleEvent = (msg.lifecycleEvent || 'CREATE').trim().toUpperCase();
+ var registrationEndpoint = 'https://mobile.ng.bluemix.net/imfpush/v1/apps/' + appId + '/webhooks';
+ //var registrationEndpoint = 'https://imfpushtest1.ng.bluemix.net/imfpush/v1/apps/'+appId+'/webhooks';
+ var lifecycleEvent = (params.lifecycleEvent || 'CREATE').trim().toUpperCase();
if (lifecycleEvent === 'CREATE' || lifecycleEvent === 'UPDATE') {
- var events = params.events.split(',');
- if (!events) {
- events = '*';
+
+ if (!params.events) {
+ var events = ["*"];
+ }
+ else {
+ var events = params.events.split(',');
}
var body = {
+ name:trigger,
url: whiskCallbackUrl,
- event_types: events
+ eventTypes: events
};
var options = {
- method: 'PUT',
+ method: 'POST',
url: registrationEndpoint,
body: JSON.stringify(body),
headers: {
'appSecret': appSecret,
- 'Content-Type': 'application/json',
- 'User-Agent': 'whisk'
+ 'Content-Type': 'application/json'
}
};
request(options, function(error, response, body){
if (error) {
return whisk.error();
}
- console.log("Status code: " + response.statusCode);
return whisk.done({response: body});
});
}
@@ -55,15 +57,13 @@
method: 'DELETE',
url: registrationEndpoint,
headers: {
- 'appSecret': appSecret,
- 'User-Agent': 'whisk'
+ 'appSecret': appSecret
}
};
request(options, function(error, response, body) {
if (error) {
return whisk.error();
}
- console.log("Status code: " + response.statusCode);
return whisk.done({response: body});
});
}