private static string GetCanonicalizedQueryString(IDictionary<string, string> parameters)
{
IDictionary<string, string> sorted =
new SortedDictionary<string, string>(parameters, StringComparer.Ordinal);
StringBuilder builder = new StringBuilder();
foreach (var pair in sorted)
{
if (pair.Value != null)
{
string key = pair.Key;
string value = pair.Value;
builder.Append(AWSSDKUtils.UrlEncode(key, false));
builder.Append("=");
builder.Append(AWSSDKUtils.UrlEncode(value, false));
builder.Append("&");
}
}
string result = builder.ToString();
return (string.IsNullOrEmpty(result) ? string.Empty : result.Substring(0, result.Length - 1));
}