public static string ComposeStringToSign()

in aliyun-net-credentials/Utils/ParameterHelper.cs [106:128]


        public static string ComposeStringToSign(MethodType method, Dictionary<string, string> queries)
        {
            IDictionary<string, string> sortedDictionary =
                new SortedDictionary<string, string>(queries, StringComparer.Ordinal);

            var canonicalizedQueryString = new StringBuilder();
            foreach (var p in sortedDictionary)
            {
                canonicalizedQueryString.Append("&")
                    .Append(AcsURLEncoder.PercentEncode(p.Key)).Append("=")
                    .Append(AcsURLEncoder.PercentEncode(p.Value));
            }

            var stringToSign = new StringBuilder();
            stringToSign.Append(method.ToString());
            stringToSign.Append(Separator);
            stringToSign.Append(AcsURLEncoder.PercentEncode("/"));
            stringToSign.Append(Separator);
            stringToSign.Append(AcsURLEncoder.PercentEncode(
                canonicalizedQueryString.ToString().Substring(1)));

            return stringToSign.ToString();
        }