Feature: Convert username/email to lower case Change-Id: I2614c3f84dc7a64d9cf66dad3e8db9bd6cfada35
diff --git a/src/main/java/com/googlesource/gerrit/plugins/avatars/external/ExternalUrlAvatarProvider.java b/src/main/java/com/googlesource/gerrit/plugins/avatars/external/ExternalUrlAvatarProvider.java index 7e718ef..fafa92e 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/avatars/external/ExternalUrlAvatarProvider.java +++ b/src/main/java/com/googlesource/gerrit/plugins/avatars/external/ExternalUrlAvatarProvider.java
@@ -41,6 +41,7 @@ private String externalAvatarUrl; private String avatarChangeUrl; private String sizeParameter; + private boolean lowerCase; @Inject ExternalUrlAvatarProvider(PluginConfigFactory cfgFactory, @@ -51,6 +52,7 @@ externalAvatarUrl = cfg.getString("url"); avatarChangeUrl = cfg.getString("changeUrl"); sizeParameter = cfg.getString("sizeParameter"); + lowerCase = cfg.getBoolean("lowerCase", false); ssl = canonicalUrl != null && canonicalUrl.startsWith("https://"); } @@ -118,6 +120,9 @@ || !url.contains(placeholder)) { return url; } + if (lowerCase) { + replacement = replacement.toLowerCase(); + } // as we can't assume anything of 'replacement', we're URL encoding it return url.replace(placeholder, Url.encode(replacement));
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md index 83ab4e7..0a61965 100644 --- a/src/main/resources/Documentation/config.md +++ b/src/main/resources/Documentation/config.md
@@ -9,6 +9,7 @@ url = http://example.org/avatars/${user}.jpg changeUrl = http://example.org/account.html sizeParameter = s=${size}x${size} + lowerCase = true ``` <a id="url"> @@ -29,5 +30,9 @@ : URL parameter with `${size}` placeholder to forward the preferred image size to the avatar provider. Optional. +<a id="lowerCase"> +`plugin.@PLUGIN@.lowerCase` +: Convert the username and email to lower case. Default value = false. Optional. + Please note that `http://` URLs will be automatically rewritten to `https://`, if `gerrit.canonicalWebUrl` uses HTTPS.