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:
		
							
								
								
									
										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) { | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user