Resolves Issue 18 - Handles node.js querystring a little better

in the edge case on composite parameters such as foo[bar] :)
This commit is contained in:
ciaranj
2010-12-13 20:04:41 +00:00
parent 7daacdb084
commit 3331aefe27
2 changed files with 23 additions and 4 deletions

View File

@ -217,10 +217,19 @@ exports.OAuth.prototype._prepareParameters= function( oauth_token, oauth_token_s
var parsedUrl= URL.parse( url, false );
if( parsedUrl.query ) {
var extraParameters= querystring.parse(parsedUrl.query);
for(var key in extraParameters ) {
oauthParameters[key]= extraParameters[key];
}
var key2;
var extraParameters= querystring.parse(parsedUrl.query);
for(var key in extraParameters ) {
var value= extraParameters[key];
if( typeof value == "object" ){
// TODO: This probably should be recursive
for(key2 in value){
oauthParameters[key + "[" + key2 + "]"] = value[key2];
}
} else {
oauthParameters[key]= value;
}
}
}
var sig= this._getSignature( method, url, this._normaliseRequestParams(oauthParameters), oauth_token_secret);