public static string CanonicalizeHttpRequestDefault(Uri address, NephosUriComponents uriComponents, string method, string contentType, NameValueCollection headers, bool isFileService = false, string rawUrl = null) { MessageCanonicalizer.CanonicalizedString canonicalizedString = new MessageCanonicalizer.CanonicalizedString(method); canonicalizedString.AppendCanonicalizedElement(MessageCanonicalizer.GetContentMD5(headers)); canonicalizedString.AppendCanonicalizedElement(contentType); string str = null; if (HttpRequestAccessorCommon.GetHeaderValues(headers, "x-ms-date").Count <= 0) { string[] values = headers.GetValues("Date"); str = (values == null || (int)values.Length == 0 ? string.Empty : values[0]); } else { str = null; } canonicalizedString.AppendCanonicalizedElement(str); ArrayList arrayLists = new ArrayList(); foreach (string key in headers.Keys) { if (key == null || !key.ToLowerInvariant().StartsWith("x-ms-", StringComparison.Ordinal)) { continue; } arrayLists.Add(key.ToLowerInvariant()); } arrayLists.Sort(); foreach (string arrayList in arrayLists) { string canonicalizedHeaderValue = MessageCanonicalizer.GetCanonicalizedHeaderValue(headers, arrayList); if (string.IsNullOrEmpty(canonicalizedHeaderValue) && !isFileService && MessageCanonicalizer.IsVersionBeforeFeb16(headers["x-ms-version"])) { continue; } StringBuilder stringBuilder = new StringBuilder(arrayList); stringBuilder.Append(":"); stringBuilder.Append(canonicalizedHeaderValue); canonicalizedString.AppendCanonicalizedElement(stringBuilder.ToString()); } canonicalizedString.AppendCanonicalizedElement(MessageCanonicalizer.GetCanonicalizedResource(address, uriComponents, rawUrl)); return(canonicalizedString.Value); }