Added uitilty method to MapUtils for appending and encoding parameters
This commit is contained in:
1 parent
22367de553
commit
16b3475926
3 files changed
+21
-4
No files matched your search
@@ -32,11 +32,11 @@ public class BaseStringExtractorImpl implements BaseStringExtractor
|
||||
private String getSortedAndEncodedParams(OAuthRequest request)
|
||||
{
|
||||
Map<String, String> params = new HashMap<String, String>();
|
||||
params.putAll(request.getQueryStringParams());
|
||||
params.putAll(request.getBodyParams());
|
||||
params.putAll(request.getOauthParameters());
|
||||
MapUtils.decodeAndAppendEntries(request.getQueryStringParams(), params);
|
||||
MapUtils.decodeAndAppendEntries(request.getBodyParams(), params);
|
||||
MapUtils.decodeAndAppendEntries(request.getOauthParameters(), params);
|
||||
params = MapUtils.sort(params);
|
||||
return URLUtils.percentEncode(URLUtils.formURLEncodeMap(params));
|
||||
return URLUtils.percentEncode(URLUtils.concatSortedPercentEncodedParams(params));
|
||||
}
|
||||
|
||||
private void checkPreconditions(OAuthRequest request)
|
||||
|
||||
@@ -33,4 +33,19 @@ public class MapUtils
|
||||
Collections.sort(keys);
|
||||
return keys;
|
||||
}
|
||||
|
||||
/**
|
||||
* Form-urlDecodes and appends all keys from the source {@link Map} to the
|
||||
* target {@link Map}
|
||||
*
|
||||
* @param source Map from where the keys get copied and decoded
|
||||
* @param target Map where the decoded keys are copied to
|
||||
*/
|
||||
public static void decodeAndAppendEntries(Map<String, String> source, Map<String, String> target)
|
||||
{
|
||||
for (String key: source.keySet())
|
||||
{
|
||||
target.put(URLUtils.percentEncode(key), URLUtils.percentEncode(source.get(key)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -139,6 +139,7 @@ public class URLUtils
|
||||
* @param params key-value map
|
||||
* @return querystring-like String
|
||||
*/
|
||||
// TODO Move to MapUtils
|
||||
public static String concatSortedPercentEncodedParams(Map<String, String> params)
|
||||
{
|
||||
StringBuilder result = new StringBuilder();
|
||||
@@ -156,6 +157,7 @@ public class URLUtils
|
||||
* @param queryString querystring-like String
|
||||
* @return a map with the form-urldecoded parameters
|
||||
*/
|
||||
// TODO Move to MapUtils
|
||||
public static Map<String, String> queryStringToMap(String queryString)
|
||||
{
|
||||
Map<String, String> result = new HashMap<String, String>();
|
||||
|
||||
Reference in new issue
Block a user