diff --git a/README.md b/README.md index 416c304..72efe8b 100644 --- a/README.md +++ b/README.md @@ -16,22 +16,34 @@ var Webfaction = require('webfaction-api'); var webfaction = new Webfaction('username', 'password'); -webfaction.login(function(result) { +webfaction.login(function(err,result) { + if(err){ + console.log(err); + }else{ + webfaction.listDomains(function(err, result) { + if(err){ + console.log(err); + }else{ + console.log(result); + } + }); + + webfaction.createWebsite({ + website_name : 'example', + ip: '123.45.67.89', + https: false, + subdomains: ['www.example.com'], + site_apps: [ ['node', '/'] ] + }, + function(err,result) { + if(err){ + console.log(err); + }else{ + console.log(err,result); + } + }); + } - webfaction.listDomains(function(result) { - console.log(result); - }); - - webfaction.createWebsite({ - website_name : 'example', - ip: '123.45.67.89', - https: false, - subdomains: ['www.example.com'], - site_apps: [ ['node', '/'] ] - }, - function(result) { - console.log(result); - }); }); ``` diff --git a/lib/webfaction.js b/lib/webfaction.js index 5d2a226..3900bbf 100644 --- a/lib/webfaction.js +++ b/lib/webfaction.js @@ -19,11 +19,12 @@ var Webfaction = function(username, password) { Webfaction.prototype.methodCall = function(method, params, callback) { if (!params) params = []; params.unshift(this.session_id); - client.methodCall(method, params, function (error, value) { - if (error) { - console.log(error); + client.methodCall(method, params, function (err, value) { + if (err) { + callback(err) + }else{ + callback(null,value); } - callback(value); }); }; @@ -32,10 +33,14 @@ Webfaction.prototype.methodCall = function(method, params, callback) { */ Webfaction.prototype.login = function(callback) { - client.methodCall('login', [this.username, this.password], (function (error, value) { + client.methodCall('login', [this.username, this.password], (function (err, value) { this.session_id = value[0]; - this.account = value[1]; - callback(value); + this.account = value[1]; + if (err) { + callback(err); + } else { + callback(null,value); + } }).bind(this)); }; @@ -51,7 +56,7 @@ Webfaction.prototype.deleteDomain = function(domain, subdomain, callback) { this.methodCall('delete_domain', [], callback); }; -Webfaction.prototype.listDomains = function(callback) { +Webfaction.prototype.listDomains = function(callback) { this.methodCall('list_domains', [], callback); }; @@ -64,10 +69,10 @@ Webfaction.prototype.createApp = function(opts, callback) { autostart: false, extra_info: '', open_port: false - }; - + }; + _.defaults(opts, optionalDefaults); - + params = []; params.push(opts.name); params.push(opts.type); @@ -135,7 +140,7 @@ Webfaction.prototype.deleteWebsite = function(opts, callback) { this.methodCall('delete_website', params, callback); }; -Webfaction.prototype.listWebsites = function(callback) { +Webfaction.prototype.listWebsites = function(callback) { this.methodCall('list_websites', [], callback); }; @@ -143,11 +148,11 @@ Webfaction.prototype.listWebsites = function(callback) { * API - Cron */ -Webfaction.prototype.createCronjob = function(line, callback) { +Webfaction.prototype.createCronjob = function(line, callback) { this.methodCall('create_cronjob', [line], callback); }; -Webfaction.prototype.deleteCronjob = function(line, callback) { +Webfaction.prototype.deleteCronjob = function(line, callback) { this.methodCall('delete_cronjob', [line], callback); }; @@ -155,13 +160,13 @@ Webfaction.prototype.deleteCronjob = function(line, callback) { * API - Servers */ -Webfaction.prototype.listIps = function(callback) { +Webfaction.prototype.listIps = function(callback) { this.methodCall('list_ips', [], callback); }; -Webfaction.prototype.listMachines = function(callback) { +Webfaction.prototype.listMachines = function(callback) { this.methodCall('list_machines', [], callback); -}; +}; /* * API - Email