Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: ciaranj/node-oauth
base: master
...
head fork: jspaper/node-oauth
compare: master
Checking mergeability… Don't worry, you can still create the pull request.
  • 1 commit
  • 1 file changed
  • 0 commit comments
  • 1 contributor
Showing with 35 additions and 30 deletions.
  1. +35 −30 lib/oauth.js
View
65 lib/oauth.js
@@ -84,7 +84,7 @@ exports.OAuth.prototype._getSignature= function(method, url, parameters, tokenSe
exports.OAuth.prototype._normalizeUrl= function(url) {
var parsedUrl= URL.parse(url, true)
var port ="";
- if( parsedUrl.port ) {
+ if( parsedUrl.port ) {
if( (parsedUrl.protocol == "http:" && parsedUrl.port != "80" ) ||
(parsedUrl.protocol == "https:" && parsedUrl.port != "443") ) {
port= ":" + parsedUrl.port;
@@ -92,7 +92,7 @@ exports.OAuth.prototype._normalizeUrl= function(url) {
}
if( !parsedUrl.pathname || parsedUrl.pathname == "" ) parsedUrl.pathname ="/";
-
+
return parsedUrl.protocol + "//" + parsedUrl.hostname + port + parsedUrl.pathname;
}
@@ -141,17 +141,17 @@ exports.OAuth.prototype._makeArrayOfArgumentsHash= function(argumentsHash) {
argument_pairs[argument_pairs.length]= [key, value];
}
}
- return argument_pairs;
-}
+ return argument_pairs;
+}
// Sorts the encoded key value pairs by encoded name, then encoded value
exports.OAuth.prototype._sortRequestParams= function(argument_pairs) {
// Sort by name, then value.
argument_pairs.sort(function(a,b) {
if ( a[0]== b[0] ) {
- return a[1] < b[1] ? -1 : 1;
+ return a[1] < b[1] ? -1 : 1;
}
- else return a[0] < b[0] ? -1 : 1;
+ else return a[0] < b[0] ? -1 : 1;
});
return argument_pairs;
@@ -164,10 +164,10 @@ exports.OAuth.prototype._normaliseRequestParams= function(arguments) {
argument_pairs[i][0]= this._encodeData( argument_pairs[i][0] );
argument_pairs[i][1]= this._encodeData( argument_pairs[i][1] );
}
-
+
// Then sort them #3.4.1.3.2 .2
argument_pairs= this._sortRequestParams( argument_pairs );
-
+
// Then concatenate together #3.4.1.3.2 .3 & .4
var args= "";
for(var i=0;i<argument_pairs.length;i++) {
@@ -175,19 +175,19 @@ exports.OAuth.prototype._normaliseRequestParams= function(arguments) {
args+= "="
args+= argument_pairs[i][1];
if( i < argument_pairs.length-1 ) args+= "&";
- }
+ }
return args;
}
exports.OAuth.prototype._createSignatureBase= function(method, url, parameters) {
- url= this._encodeData( this._normalizeUrl(url) );
+ url= this._encodeData( this._normalizeUrl(url) );
parameters= this._encodeData( parameters );
return method.toUpperCase() + "&" + url + "&" + parameters;
}
exports.OAuth.prototype._createSignature= function(signatureBase, tokenSecret) {
if( tokenSecret === undefined ) var tokenSecret= "";
- else tokenSecret= this._encodeData( tokenSecret );
+ else tokenSecret= this._encodeData( tokenSecret );
// consumerSecret is already encoded
var key= this._consumerSecret + "&" + tokenSecret;
@@ -200,7 +200,7 @@ exports.OAuth.prototype._createSignature= function(signatureBase, tokenSecret) {
hash = crypto.createHmac("sha1", key).update(signatureBase).digest("base64");
}
else {
- hash= sha1.HMACSHA1(key, signatureBase);
+ hash= sha1.HMACSHA1(key, signatureBase);
}
}
return hash;
@@ -216,7 +216,7 @@ exports.OAuth.prototype._getNonce= function(nonceSize) {
var chars= this.NONCE_CHARS;
var char_pos;
var nonce_chars_length= chars.length;
-
+
for (var i = 0; i < nonceSize; i++) {
char_pos= Math.floor(Math.random() * nonce_chars_length);
result[i]= chars[char_pos];
@@ -238,7 +238,7 @@ exports.OAuth.prototype._createClient= function( port, hostname, method, path, h
} else {
httpModel= http;
}
- return httpModel.request(options);
+ return httpModel.request(options);
}
exports.OAuth.prototype._prepareParameters= function( oauth_token, oauth_token_secret, method, url, extra_params ) {
@@ -330,7 +330,7 @@ exports.OAuth.prototype._performSecureRequest= function( oauth_token, oauth_toke
headers["Content-length"]= post_body ? Buffer.byteLength(post_body) : 0;
headers["Content-Type"]= post_content_type;
-
+
var path;
if( !parsedUrl.pathname || parsedUrl.pathname == "" ) parsedUrl.pathname ="/";
if( parsedUrl.query ) path= parsedUrl.pathname + "?"+ parsedUrl.query ;
@@ -345,7 +345,7 @@ exports.OAuth.prototype._performSecureRequest= function( oauth_token, oauth_toke
}
if( callback ) {
- var data="";
+ var data="";
var self= this;
// Some hosts *cough* google appear to close the connection early / send no content-length header
@@ -383,12 +383,12 @@ exports.OAuth.prototype._performSecureRequest= function( oauth_token, oauth_toke
}
});
});
-
+
request.on("error", function(err) {
callbackCalled= true;
callback( err )
});
-
+
if( (method == "POST" || method =="PUT") && post_body != null && post_body != "" ) {
request.write(post_body);
}
@@ -400,7 +400,7 @@ exports.OAuth.prototype._performSecureRequest= function( oauth_token, oauth_toke
}
return request;
}
-
+
return;
}
@@ -420,14 +420,19 @@ exports.OAuth.prototype.setClientOptions= function(options) {
this._clientOptions= mergedOptions;
};
-exports.OAuth.prototype.getOAuthAccessToken= function(oauth_token, oauth_token_secret, oauth_verifier, callback) {
+exports.OAuth.prototype.getOAuthAccessToken= function(oauth_token, oauth_token_secret, extra, callback) {
var extraParams= {};
- if( typeof oauth_verifier == "function" ) {
- callback= oauth_verifier;
- } else {
- extraParams.oauth_verifier= oauth_verifier;
+ switch(typeof extra) {
+ case "function":
+ callback = extra;
+ break;
+ case "object":
+ extraParams = extra;
+ break;
+ default :
+ extraParams.oauth_verifier = extra;
}
-
+
this._performSecureRequest( oauth_token, oauth_token_secret, this._clientOptions.accessTokenHttpMethod, this._accessUrl, extraParams, null, null, function(error, data, response) {
if( error ) callback(error);
else {
@@ -467,7 +472,7 @@ exports.OAuth.prototype._putOrPost= function(method, url, oauth_token, oauth_tok
}
return this._performSecureRequest( oauth_token, oauth_token_secret, method, url, extra_params, post_body, post_content_type, callback );
}
-
+
exports.OAuth.prototype.put= function(url, oauth_token, oauth_token_secret, post_body, post_content_type, callback) {
return this._putOrPost("PUT", url, oauth_token, oauth_token_secret, post_body, post_content_type, callback);
@@ -483,7 +488,7 @@ exports.OAuth.prototype.post= function(url, oauth_token, oauth_token_secret, pos
*
* The callback should expect a function of the following form:
*
- * function(err, token, token_secret, parsedQueryString) {}
+ * function(err, token, token_secret, parsedQueryString) {}
*
* This method has optional parameters so can be called in the following 2 ways:
*
@@ -502,7 +507,7 @@ exports.OAuth.prototype.getOAuthRequestToken= function( extraParams, callback )
callback = extraParams;
extraParams = {};
}
- // Callbacks are 1.0A related
+ // Callbacks are 1.0A related
if( this._authorize_callback ) {
extraParams["oauth_callback"]= this._authorize_callback;
}
@@ -529,12 +534,12 @@ exports.OAuth.prototype.signUrl= function(url, oauth_token, oauth_token_secret,
var orderedParameters= this._prepareParameters(oauth_token, oauth_token_secret, method, url, {});
var parsedUrl= URL.parse( url, false );
- var query="";
+ var query="";
for( var i= 0 ; i < orderedParameters.length; i++) {
query+= orderedParameters[i][0]+"="+ this._encodeData(orderedParameters[i][1]) + "&";
}
query= query.substring(0, query.length-1);
-
+
return parsedUrl.protocol + "//"+ parsedUrl.host + parsedUrl.pathname + "?" + query;
};

No commit comments for this range

Something went wrong with that request. Please try again.