Allow running without gerrit.canonicalWebUrl
Gerrit's CanonicalWebUrl class is already responsible of getting
the full URL from either gerrit.config or the incoming HTTP request.
However, over time, other parts of Gerrit injected directly the
configured string through @CanonicalWebUrl annotation and did not
manage correctly the situation where the configuration is absent.
The only situation where gerrit.canonicalWebUrl is mandatory is
OAuth authentication, because the OAuth provider needs to have
a fixed callback URL with a single hostname.
Change-Id: Idee1d36eb08c53a0d06604b9a737695322e124d1
(cherry picked from commit 53eab1080b)
This commit is contained in:
committed by
Paladox none
parent
7bd3b9cfe2
commit
a5420f0155
@@ -17,6 +17,7 @@ package com.google.gerrit.httpd.raw;
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
import static javax.servlet.http.HttpServletResponse.SC_OK;
|
||||
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.io.Resources;
|
||||
import com.google.gerrit.common.Nullable;
|
||||
import com.google.template.soy.SoyFileSet;
|
||||
@@ -61,6 +62,10 @@ public class IndexServlet extends HttpServlet {
|
||||
}
|
||||
|
||||
static String computeCanonicalPath(String canonicalURL) throws URISyntaxException {
|
||||
if (Strings.isNullOrEmpty(canonicalURL)) {
|
||||
return "";
|
||||
}
|
||||
|
||||
// If we serving from a sub-directory rather than root, determine the path
|
||||
// from the cannonical web URL.
|
||||
URI uri = new URI(canonicalURL);
|
||||
|
||||
Reference in New Issue
Block a user