Amazon.Polly.SynthesizeSpeechUtil.SynthesizeSpeechPresignedUrlSigner.CanonicalizeQueryParametersForSynthesizeSpeech C# (CSharp) Метод

CanonicalizeQueryParametersForSynthesizeSpeech() публичный статический Метод

This method was copied from AWS4PreSignedUrlSigner.CanonicalizeQueryParameters and adapted for this utility.
public static CanonicalizeQueryParametersForSynthesizeSpeech ( string>.IDictionary parameters, bool uriEncodeParameters ) : string
parameters string>.IDictionary
uriEncodeParameters bool
Результат string
            public static string CanonicalizeQueryParametersForSynthesizeSpeech(IDictionary<string, string> parameters,
                bool uriEncodeParameters)
            {
                if (parameters == null || parameters.Count == 0)
                    return string.Empty;

                var canonicalQueryString = new StringBuilder();
                var queryParams = new SortedDictionary<string, string>(parameters, StringComparer.Ordinal);
                foreach (var p in queryParams)
                {
                    if (canonicalQueryString.Length > 0)
                        canonicalQueryString.Append("&");

                    if (string.Equals(LexiconNamesParameter, p.Key, StringComparison.Ordinal))
                        AppendLexiconNamesParameter(canonicalQueryString, p.Value, uriEncodeParameters);
                    else
                    {
                        if (uriEncodeParameters)
                        {
                            if (string.IsNullOrEmpty(p.Value))
                                canonicalQueryString.AppendFormat("{0}=", AWSSDKUtils.UrlEncode(p.Key, false));
                            else
                                canonicalQueryString.AppendFormat("{0}={1}", AWSSDKUtils.UrlEncode(p.Key, false), AWSSDKUtils.UrlEncode(p.Value, false));
                        }
                        else
                        {
                            if (string.IsNullOrEmpty(p.Value))
                                canonicalQueryString.AppendFormat("{0}=", p.Key);
                            else
                                canonicalQueryString.AppendFormat("{0}={1}", p.Key, p.Value);
                        }
                    }
                }

                return canonicalQueryString.ToString();
            }