/// <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()); }
/// <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)); }