diff --git a/lib/cloudcontrol.js b/lib/cloudcontrol.js index 64f03d5..6016f06 100644 --- a/lib/cloudcontrol.js +++ b/lib/cloudcontrol.js @@ -150,12 +150,18 @@ Cloudcontrol.prototype.curl = function curl(options, cb) { }) url = self.protocol + '://' + self.host + options.path - if (options.params) url += '?' - if (typeof options.params === 'string') url += options.params - if (typeof options.params === 'object') Object.keys(options.params).forEach(function(key) { - url += key + '=' + escape(options.params[key]) - }) + if (options.params && options.method === 'POST') { + var curlified = Object.keys(options.params).map(function (key) { return '-d ' + key + '=' + options.params[key]; }); + cmd += ' ' + curlified.join(' '); + } else if (options.params) { + if (options.params) url += '?' + + if (typeof options.params === 'string') url += options.params + if (typeof options.params === 'object') Object.keys(options.params).forEach(function(key) { + url += key + '=' + escape(options.params[key]) + }) + } cmd += ' "' + url + '"' exec(cmd, function(err, result) { cb(err, result) @@ -186,7 +192,7 @@ Cloudcontrol.prototype.request = function request(options, cb) { try { result = JSON.parse(result) } catch(e) { - if (result === "Authorization Required") { + if (result === "Authorization Required" || result === "Unauthorized") { self.retries++ if (self.retries < 3) { // try to reauthenticate