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