a couple small tweaks to the promisify helper

This commit is contained in:
Todd Treece 2015-08-01 23:25:02 -04:00
parent 4db26d4f82
commit 5897535dca
2 changed files with 31 additions and 18 deletions

View file

@ -6,7 +6,7 @@ function success(resolve, response) {
}
function fail(reject, response) {
reject(response.data.message);
reject(response);
}
exports.promisify = function(module, operation, parameters) {
@ -20,28 +20,32 @@ exports.promisify = function(module, operation, parameters) {
return param.name === 'Authorization';
});
var promise = new Promise(function(resolve, reject) {
var promise = function(access_token) {
if(require_auth) {
return new Promise(function(resolve, reject) {
if(! args[0])
args[0] = {};
if(access_token) {
args[0].Authorization = 'Bearer ' + module.access_token;
if(! args[0])
args[0] = {};
}
args[0].Authorization = 'Bearer ' + access_token;
args.push(success.bind(null, resolve));
args.push(fail.bind(null, reject));
}
operation.apply(self, args);
args.push(success.bind(null, resolve));
args.push(fail.bind(null, reject));
});
operation.apply(self, args);
});
};
if(require_auth)
return module.getAccessToken().then(function() { return promise; });
return module.getAccessToken().then(promise);
return promise;
return promise();
};

View file

@ -37,9 +37,10 @@ proto.init = function() {
return new Promise(function(resolve, reject) {
self.client = new swagger({
var client = new swagger({
url: self.swagger_url,
success: function() {
self.client = client;
helpers.processSwagger(self);
resolve(self);
},
@ -56,11 +57,19 @@ proto.getAccessToken = function() {
var self = this;
if(! this.access_token)
return this.authorization.createToken(this.credentials);
return new Promise(function(resolve, reject) {
resolve(self.access_token);
if(self.access_token)
return resolve(self.access_token);
self.authorization
.createToken(self.credentials)
.then(function(res) {
self.access_token = res.access_token;
resolve(self.access_token);
})
.catch(reject);
});
};