Possible mechanism for returning a signed request object.
if oauth.get/post is called without a callback parameter it will return a valid request object that can have custom listeners etc. attached to it. Don't forget to call 'end' on it :)
This commit is contained in:
parent
b79bce508f
commit
3b94a77e5c
47
lib/oauth.js
47
lib/oauth.js
@ -224,27 +224,34 @@ exports.OAuth.prototype._performSecureRequest= function( oauth_token, oauth_toke
|
|||||||
else path= parsedUrl.pathname;
|
else path= parsedUrl.pathname;
|
||||||
|
|
||||||
var request = oauthProvider.request(method, path , headers);
|
var request = oauthProvider.request(method, path , headers);
|
||||||
var data="";
|
if( callback ) {
|
||||||
var self= this;
|
var data="";
|
||||||
request.addListener('response', function (response) {
|
var self= this;
|
||||||
response.setEncoding('utf8');
|
request.addListener('response', function (response) {
|
||||||
response.addListener('data', function (chunk) {
|
response.setEncoding('utf8');
|
||||||
data+=chunk;
|
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);
|
request.socket.addListener("error",callback);
|
||||||
if( method == "POST" && post_body != null && post_body != "" ) {
|
if( method == "POST" && post_body != null && post_body != "" ) {
|
||||||
request.write(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) {
|
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) {
|
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) {
|
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;
|
extra_params= post_body;
|
||||||
post_body= querystring.stringify(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) {
|
exports.OAuth.prototype.getOAuthRequestToken= function(extraParams, callback) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user