From d4143a64528481543d4271923f926c97a8c6a7af Mon Sep 17 00:00:00 2001 From: Pieter Joost van de Sande Date: Sun, 5 May 2013 23:04:10 +0200 Subject: [PATCH] Add followRedirect client option to turn auto follow on or off --- lib/oauth.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/oauth.js b/lib/oauth.js index 7607ee6..104fc5c 100644 --- a/lib/oauth.js +++ b/lib/oauth.js @@ -29,7 +29,8 @@ exports.OAuth= function(requestUrl, accessUrl, consumerKey, consumerSecret, vers "Connection" : "close", "User-Agent" : "Node authentication"} this._clientOptions= this._defaultClientOptions= {"requestTokenHttpMethod": "POST", - "accessTokenHttpMethod": "POST"}; + "accessTokenHttpMethod": "POST", + "followRedirects": true}; this._oauthParameterSeperator = ","; }; @@ -352,6 +353,7 @@ exports.OAuth.prototype._performSecureRequest= function( oauth_token, oauth_toke request= this._createClient(parsedUrl.port, parsedUrl.hostname, method, path, headers); } + var clientOptions = this._clientOptions; if( callback ) { var data=""; var self= this; @@ -367,7 +369,7 @@ exports.OAuth.prototype._performSecureRequest= function( oauth_token, oauth_toke callback(null, data, response); } else { // Follow 301 or 302 redirects with Location HTTP header - if((response.statusCode == 301 || response.statusCode == 302) && response.headers && response.headers.location) { + if((response.statusCode == 301 || response.statusCode == 302) && clientOptions.followRedirects && response.headers && response.headers.location) { self._performSecureRequest( oauth_token, oauth_token_secret, method, response.headers.location, extra_params, post_body, post_content_type, callback); } else {