Merge pull request #134 from richardscarrott/master

NodeJS SDK - Handle malformed responses
diff --git a/sdks/nodejs/lib/usergrid.js b/sdks/nodejs/lib/usergrid.js
index d59e6e7..5277653 100755
--- a/sdks/nodejs/lib/usergrid.js
+++ b/sdks/nodejs/lib/usergrid.js
@@ -113,6 +113,10 @@
       qs: qs
     };
     request(callOptions, function (err, r, data) {
+
+      r.body = r.body || {};
+      data = data || {};
+
       if (self.buildCurl) {
         options.uri = r.request.uri.href;
         self.buildCurlCall(options);
@@ -136,7 +140,7 @@
           var error = r.body.error;
           var errorDesc = r.body.error_description;
           if (self.logging) {
-            console.log('Error (' + r.statusCode + ')(' + error + '): ' + errorDesc)
+            console.log('Error (' + r.statusCode + ')(' + error + '): ' + errorDesc);
           }
           //if the user has specified a logout callback:
           if (typeof(self.logoutCallback) === 'function') {
@@ -2358,7 +2362,7 @@
  * @returns {callback} callback(err, event)
  */
 Usergrid.Counter.prototype.getData=function(options, callback){
-  var start_time, 
+  var start_time,
       end_time,
       start=options.start||0,
       end=options.end||Date.now(),
@@ -2406,7 +2410,7 @@
   params.push('resolution='+res)
   params.push('start_time='+String(start_time))
   params.push('end_time='+String(end_time))
-    
+
   var endpoint="counters?"+params.join('&');
   this._client.request({endpoint:endpoint}, function(err, data){
     if(data.counters && data.counters.length){