Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
 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();
 }
Exemplo n.º 3
0
        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());
        }
Exemplo n.º 4
0
        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();
        }