Redirect using path-based URL Do not use a full URL when redirecting at first login because it could be at time incorrect. When running Gerrit from inside a container, Docker itself acts as an HTTP reverse proxy and the actual external hostname would be different. Change-Id: I6be4d09902b4f1998575d40daa65ddf9fb0f0d26
diff --git a/src/main/java/com/googlesource/gerrit/plugins/manager/FirstWebLoginListener.java b/src/main/java/com/googlesource/gerrit/plugins/manager/FirstWebLoginListener.java index 0d18bd6..85dbdd2 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/manager/FirstWebLoginListener.java +++ b/src/main/java/com/googlesource/gerrit/plugins/manager/FirstWebLoginListener.java
@@ -22,6 +22,7 @@ import com.google.inject.Inject; import java.io.IOException; +import java.net.URI; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardOpenOption; @@ -41,7 +42,7 @@ @PluginCanonicalWebUrl String pluginUrl) { this.pluginData = pluginData; this.pluginLoader = pluginLoader; - this.pluginUrl = pluginUrl; + this.pluginUrl = urlPath(pluginUrl); } @Override @@ -64,4 +65,8 @@ public void onLogout(IdentifiedUser user, HttpServletRequest request, HttpServletResponse response) { } + + private static String urlPath(String url) { + return URI.create(url).getPath(); + } }