Exemple #1
0
        /// <summary>
        /// Gets the currently active Gravatar image URL for the email address supplied to this method call
        /// Throws a <see cref="GravatarEmailHashFailedException"/> if the provided email address is invalid
        /// </summary>
        /// <param name="address">The address to retireve the image for</param>
        /// /// <param name="pars">The available parameters passed by the request to Gravatar when retrieving the image</param>
        /// <param name="alreadyHashed">Whether the supplied address is already hashed</param>
        /// <returns>The Gravatar image URL</returns>
        public static string GetGravatarUrlForAddress(string address, GravatarUrlParameters pars, bool alreadyHashed = false)
        {
            var sbResult = new StringBuilder(GravatarImageUrlBase);

            sbResult.Append(alreadyHashed ? address : HashEmailAddress(address));

            if (pars != null)
            {
                sbResult.Append("?");

                if (pars.Size > 0)
                {
                    sbResult.AppendFormat(UrlParSize, pars.Size);
                }
                if (pars.Rating != GravatarImageRating.G)
                {
                    sbResult.AppendFormat(UrlParRating, pars.Rating.ToString().ToLower());
                }

                if (pars.DefaultOption != GravatarDefaultUrlOptions.None)
                {
                    if (pars.DefaultOption == GravatarDefaultUrlOptions.Custom)
                    {
                        sbResult.AppendFormat(UrlParDefault, HttpUtility.UrlEncode(pars.CustomDefaultUrl));
                    }
                    else
                    {
                        sbResult.AppendFormat(UrlParDefault, (pars.DefaultOption == GravatarDefaultUrlOptions.Error ? UrlPar404 : pars.DefaultOption.ToString().ToLower()));
                    }
                }
            }

            return(sbResult.ToString());
        }
Exemple #2
0
 /// <summary>
 /// Gets the currently active Gravatar image URL for the email address used to instantiate the service with
 /// Throws a <see cref="GravatarEmailHashFailedException"/> if the provided email address is invalid
 /// </summary>
 /// <param name="pars">The available parameters passed by the request to Gravatar when retrieving the image</param>
 /// <returns>The Gravatar image URL</returns>
 public string GetGravatarUrl(GravatarUrlParameters pars)
 {
     return(GetGravatarUrlForAddress(Email, pars));
 }