private static string BuildCanonicalizedResource(OssHttpRequestMessage httpRequestMessage) { StringBuilder builder = new StringBuilder(); builder.Append(httpRequestMessage.ResourcePath); if (httpRequestMessage.Parameters != null) { IOrderedEnumerable <string> parameterNames = from e in httpRequestMessage.Parameters.Keys orderby e select e; char separater = '?'; foreach (string paramName in parameterNames) { if (SIGNED_PARAMTERS.Contains(paramName)) { builder.Append(separater); builder.Append(paramName); string paramValue = httpRequestMessage.Parameters[paramName]; if (paramValue != null) { builder.Append("=").Append(paramValue); } separater = '&'; } } } return(builder.ToString()); }
private static string BuildCanonicalizedResource(OssHttpRequestMessage httpRequestMessage) { StringBuilder builder = new StringBuilder(); builder.Append(httpRequestMessage.ResourcePath); if (httpRequestMessage.Parameters != null) { IOrderedEnumerable<string> parameterNames = from e in httpRequestMessage.Parameters.Keys orderby e select e; char separater = '?'; foreach (string paramName in parameterNames) { if (SIGNED_PARAMTERS.Contains(paramName)) { builder.Append(separater); builder.Append(paramName); string paramValue = httpRequestMessage.Parameters[paramName]; if (paramValue != null) { builder.Append("=").Append(paramValue); } separater = '&'; } } } return builder.ToString(); }
public static string BuildCanonicalString(OssHttpRequestMessage httpRequestMessage) { StringBuilder builder = new StringBuilder(); builder.Append(httpRequestMessage.Method).Append("\n"); IDictionary <string, string> headersToSign = new Dictionary <string, string>(); if (httpRequestMessage.Content != null && httpRequestMessage.Content.Headers.ContentType != null) { headersToSign.Add("Content-Type".ToLowerInvariant(), httpRequestMessage.Content.Headers.ContentType.MediaType); } if (httpRequestMessage.Content != null && httpRequestMessage.Content.Headers.ContentMD5 != null) { headersToSign.Add("Content-MD5".ToLowerInvariant(), httpRequestMessage.Content.Headers.ContentMD5.ToString()); } headersToSign.Add("Date".ToLowerInvariant(), DateUtils.FormatRfc822Date(httpRequestMessage.Headers.Date.Value.UtcDateTime)); if (!headersToSign.ContainsKey("Content-Type".ToLowerInvariant())) { headersToSign.Add("Content-Type".ToLowerInvariant(), ""); } if (!headersToSign.ContainsKey("Content-MD5".ToLowerInvariant())) { headersToSign.Add("Content-MD5".ToLowerInvariant(), ""); } if (httpRequestMessage.Headers != null) { foreach (KeyValuePair <string, IEnumerable <string> > p in httpRequestMessage.Headers) { if (p.Key.StartsWith("x-oss-")) { headersToSign.Add(p.Key, (p.Value).First()); } } } foreach (KeyValuePair <string, string> entry in from e in headersToSign orderby e.Key select e) { string key = entry.Key; object value = entry.Value; if (key.StartsWith("x-oss-")) { builder.Append(key).Append(':').Append(value); } else { builder.Append(value); } builder.Append("\n"); } builder.Append(BuildCanonicalizedResource(httpRequestMessage)); return(builder.ToString()); }
public static string BuildCanonicalString(OssHttpRequestMessage httpRequestMessage) { StringBuilder builder = new StringBuilder(); builder.Append(httpRequestMessage.Method).Append("\n"); IDictionary<string, string> headersToSign = new Dictionary<string, string>(); if (httpRequestMessage.Content != null && httpRequestMessage.Content.Headers.ContentType != null) { headersToSign.Add("Content-Type".ToLowerInvariant(), httpRequestMessage.Content.Headers.ContentType.MediaType); } if (httpRequestMessage.Content != null && httpRequestMessage.Content.Headers.ContentMD5 != null) { headersToSign.Add("Content-MD5".ToLowerInvariant(), httpRequestMessage.Content.Headers.ContentMD5.ToString()); } headersToSign.Add("Date".ToLowerInvariant(), DateUtils.FormatRfc822Date(httpRequestMessage.Headers.Date.Value.UtcDateTime)); if (!headersToSign.ContainsKey("Content-Type".ToLowerInvariant())) { headersToSign.Add("Content-Type".ToLowerInvariant(), ""); } if (!headersToSign.ContainsKey("Content-MD5".ToLowerInvariant())) { headersToSign.Add("Content-MD5".ToLowerInvariant(), ""); } if (httpRequestMessage.Headers != null) { foreach (KeyValuePair<string, IEnumerable<string>> p in httpRequestMessage.Headers) { if (p.Key.StartsWith("x-oss-")) { headersToSign.Add(p.Key, (p.Value).First()); } } } foreach (KeyValuePair<string, string> entry in from e in headersToSign orderby e.Key select e) { string key = entry.Key; object value = entry.Value; if (key.StartsWith("x-oss-")) { builder.Append(key).Append(':').Append(value); } else { builder.Append(value); } builder.Append("\n"); } builder.Append(BuildCanonicalizedResource(httpRequestMessage)); return builder.ToString(); }