Amazon.Runtime.Internal.Auth.AWS4Signer.CanonicalizeHeaders C# (CSharp) Method

CanonicalizeHeaders() protected static method

Computes the canonical headers with values for the request. Only headers included in the signature are included in the canonicalization process.
protected static CanonicalizeHeaders ( string>.IEnumerable sortedHeaders ) : string
sortedHeaders string>.IEnumerable All request headers, sorted into canonical order
return string
        protected static string CanonicalizeHeaders(IEnumerable<KeyValuePair<string, string>> sortedHeaders)
        {
            if (sortedHeaders == null || sortedHeaders.Count() == 0)
                return string.Empty;

            var builder = new StringBuilder();
            
            #if UNITY
            //incase of il2cpp scripting backend the sorted headers is broken.
            //so we order by the keys again
            if(AWSSDKUtils.IsIL2CPP)
            {
                foreach (var entry in sortedHeaders.OrderBy(kvp=>kvp.Key.ToLowerInvariant()))
                {
                    builder.Append(entry.Key.ToLowerInvariant());
                    builder.Append(":");
                    builder.Append(CompressSpaces(entry.Value));
                    builder.Append("\n");
                }
                
                return builder.ToString();
            }
            #endif
            
            foreach (var entry in sortedHeaders)
            {
                builder.Append(entry.Key.ToLowerInvariant());
                builder.Append(":");
                builder.Append(CompressSpaces(entry.Value));
                builder.Append("\n");
            }
            return builder.ToString();
        }