Skip to content

Instantly share code, notes, and snippets.

@daanl
Created June 1, 2013 22:15
Show Gist options
  • Save daanl/5691886 to your computer and use it in GitHub Desktop.
Save daanl/5691886 to your computer and use it in GitHub Desktop.
private string GetCanonicalizedResource(Uri address, string accountName)
{
var builder = new StringBuilder();
builder.Append("/");
builder.Append(accountName);
builder.Append(address.AbsolutePath);
var values2 = new NameValueCollection();
var values = HttpUtility.ParseQueryString(address.Query);
foreach (string str2 in values.Keys)
{
var list = new ArrayList(values.GetValues(str2));
list.Sort();
var builder2 = new StringBuilder();
foreach (object obj2 in list)
{
if (builder2.Length > 0)
{
builder2.Append(",");
}
builder2.Append(obj2.ToString());
}
values2.Add((str2 == null) ? str2 : str2.ToLowerInvariant(), builder2.ToString());
}
var list2 = new ArrayList(values2.AllKeys);
list2.Sort();
foreach (string str3 in list2)
{
var builder3 = new StringBuilder(string.Empty);
builder3.Append(str3);
builder3.Append(":");
builder3.Append(values2[str3]);
builder.Append("\n");
builder.Append(builder3);
}
return builder.ToString();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment