in src/main/java/com/googlesource/gerrit/plugins/avatars/gravatar/GravatarAvatarProvider.java [75:97]
public String getUrl(IdentifiedUser forUser, int imageSize) {
if (forUser.getAccount().preferredEmail() == null) {
return null;
}
final String email = forUser.getAccount().preferredEmail().trim().toLowerCase();
final byte[] emailMd5;
try {
MessageDigest digest = MessageDigest.getInstance("MD5");
emailMd5 = digest.digest(email.getBytes("UTF-8"));
} catch (UnsupportedEncodingException e) {
throw new RuntimeException("JVM lacks UTF-8 encoding", e);
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("MD5 digest not supported - required for Gravatar");
}
StringBuilder url = new StringBuilder(gravatarUrl);
url.append(hex(emailMd5));
url.append(".jpg");
url.append("?d=" + avatarType + "&r=" + avatarRating);
if (imageSize > 0) {
url.append("&s=").append(imageSize);
}
return url.toString();
}