Use Url class from Gerrit core for URL encoding Change-Id: Icc08e9c50352a61a9a7f3f7e37a0bfdf3df700de Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
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 50e2b17..a9d0119 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
@@ -16,6 +16,7 @@ import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.annotations.Listen; +import com.google.gerrit.extensions.restapi.Url; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.avatar.AvatarProvider; import com.google.gerrit.server.config.CanonicalWebUrl; @@ -27,9 +28,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; - @Listen @Singleton public class ExternalUrlAvatarProvider implements AvatarProvider { @@ -90,22 +88,12 @@ * @return new URL */ private String replaceInUrl(String url, String replacement) { - if (replacement == null || url == null || url.contains(REPLACE_MARKER) == false) { return url; } // as we can't assume anything of 'replacement', we're URL encoding it - String encodedReplacement = null; - try { - encodedReplacement = URLEncoder.encode(replacement, "UTF-8"); - } catch (UnsupportedEncodingException e) { - Logger log = LoggerFactory.getLogger(ExternalUrlAvatarProvider.class); - log.warn("Weird thing, UTF-8 as encoding is not supported"); - return null; - } - - return url.replace(REPLACE_MARKER, encodedReplacement); + return url.replace(REPLACE_MARKER, Url.encode(replacement)); } }