diff --git a/lib/oauth.js b/lib/oauth.js index 1d395fd..49c5b50 100644 --- a/lib/oauth.js +++ b/lib/oauth.js @@ -224,27 +224,34 @@ exports.OAuth.prototype._performSecureRequest= function( oauth_token, oauth_toke else path= parsedUrl.pathname; var request = oauthProvider.request(method, path , headers); - var data=""; - var self= this; - request.addListener('response', function (response) { - response.setEncoding('utf8'); - response.addListener('data', function (chunk) { - data+=chunk; + if( callback ) { + var data=""; + var self= this; + request.addListener('response', function (response) { + response.setEncoding('utf8'); + response.addListener('data', function (chunk) { + data+=chunk; + }); + response.addListener('end', function () { + if( response.statusCode != 200 ) { + callback({ statusCode: response.statusCode, data: data }); + } else { + callback(null, data, response); + } + }); }); - response.addListener('end', function () { - if( response.statusCode != 200 ) { - callback({ statusCode: response.statusCode, data: data }); - } else { - callback(null, data, response); - } - }); - }); - request.socket.addListener("error",callback); - if( method == "POST" && post_body != null && post_body != "" ) { - request.write(post_body); + request.socket.addListener("error",callback); + if( method == "POST" && post_body != null && post_body != "" ) { + request.write(post_body); + } + request.end(); } - request.end(); + else { + return request; + } + + return; } exports.OAuth.prototype.getOAuthAccessToken= function(oauth_token, oauth_token_secret, oauth_verifier, callback) { @@ -274,7 +281,7 @@ exports.OAuth.prototype.getProtectedResource= function(url, method, oauth_token, } exports.OAuth.prototype.get= function(url, oauth_token, oauth_token_secret, callback) { - this._performSecureRequest( oauth_token, oauth_token_secret, "GET", url, null, "", null, callback ); + return this._performSecureRequest( oauth_token, oauth_token_secret, "GET", url, null, "", null, callback ); } exports.OAuth.prototype.post= function(url, oauth_token, oauth_token_secret, post_body, post_content_type, callback) { @@ -288,7 +295,7 @@ exports.OAuth.prototype.post= function(url, oauth_token, oauth_token_secret, pos extra_params= post_body; post_body= querystring.stringify(post_body); } - this._performSecureRequest( oauth_token, oauth_token_secret, "POST", url, extra_params, post_body, post_content_type, callback ); + return this._performSecureRequest( oauth_token, oauth_token_secret, "POST", url, extra_params, post_body, post_content_type, callback ); } exports.OAuth.prototype.getOAuthRequestToken= function(extraParams, callback) {