Beispiel #1
0
 /// <summary>
 /// Sorts a collection of key-value pairs by name, and then value if equal,
 /// concatenating them into a single string. This string should be encoded
 /// prior to, or after normalization is run.
 /// </summary>
 /// <param name="parameters"></param>
 /// <returns></returns>
 static string NormalizeRequestParameters(WebPairCollection parameters) => string.Join("&", SortParametersExcludingSignature(parameters));
Beispiel #2
0
 /// <summary>
 /// Sorts a <see cref="WebPairCollection" /> by name, and then value if equal.
 /// </summary>
 /// <param name="parameters">A collection of parameters to sort</param>
 /// <returns>A sorted parameter collection</returns>
 public static IEnumerable <string> SortParametersExcludingSignature(WebPairCollection parameters)
 => parameters
 .Where(x => !x.Name.EqualsIgnoreCase("oauth_signature"))
 .Select(x => new WebPair(UrlEncodeStrict(x.Name), UrlEncodeStrict(x.Value), x.Encode))
 .OrderBy(x => x, WebPair.Comparer)
 .Select(x => $"{x.Name}={x.Value}");
Beispiel #3
0
 public virtual void AddRange(WebPairCollection collection)
 {
     AddCollection(collection);
 }