Hoist StaticModule out of WebModule
In the multi-tenant environment of googlesource.com, we serve the static content much higher in the filter stack, so we'd rather just not install this module at all. We do need to expose a few more members as public to get the bindings we need for that. Change-Id: Id93a7f8adb440d30d960c19bf5b93e27454241a4
This commit is contained in:
@@ -23,7 +23,6 @@ import com.google.gerrit.httpd.raw.HostPageServlet;
|
||||
import com.google.gerrit.httpd.raw.LegacyGerritServlet;
|
||||
import com.google.gerrit.httpd.raw.RobotsServlet;
|
||||
import com.google.gerrit.httpd.raw.SshInfoServlet;
|
||||
import com.google.gerrit.httpd.raw.StaticModule;
|
||||
import com.google.gerrit.httpd.raw.ToolServlet;
|
||||
import com.google.gerrit.httpd.rpc.access.AccessRestApiServlet;
|
||||
import com.google.gerrit.httpd.rpc.account.AccountsRestApiServlet;
|
||||
@@ -106,9 +105,6 @@ class UrlModule extends ServletModule {
|
||||
filter("/Documentation/").through(QueryDocumentationFilter.class);
|
||||
|
||||
serve("/robots.txt").with(RobotsServlet.class);
|
||||
|
||||
// Static paths are bound last, since they may include a wildcard for /*.
|
||||
install(new StaticModule(options));
|
||||
}
|
||||
|
||||
private Key<HttpServlet> notFound() {
|
||||
|
@@ -285,7 +285,7 @@ public abstract class ResourceServlet extends HttpServlet {
|
||||
};
|
||||
}
|
||||
|
||||
static class Resource {
|
||||
public static class Resource {
|
||||
static final Resource NOT_FOUND =
|
||||
new Resource(FileTime.fromMillis(0), "", new byte[] {});
|
||||
|
||||
|
@@ -19,6 +19,7 @@ import com.google.gerrit.httpd.GerritOptions;
|
||||
import com.google.gerrit.httpd.raw.ResourceServlet.Resource;
|
||||
import com.google.gerrit.launcher.GerritLauncher;
|
||||
import com.google.gerrit.server.cache.CacheModule;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Key;
|
||||
import com.google.inject.Provides;
|
||||
import com.google.inject.ProvisionException;
|
||||
@@ -38,11 +39,12 @@ import javax.servlet.http.HttpServlet;
|
||||
public class StaticModule extends ServletModule {
|
||||
private static final String GWT_UI_SERVLET = "GwtUiServlet";
|
||||
private static final String BOWER_SERVLET = "BowerServlet";
|
||||
static final String CACHE = "static_content";
|
||||
public static final String CACHE = "static_content";
|
||||
|
||||
private final GerritOptions options;
|
||||
private Paths paths;
|
||||
|
||||
@Inject
|
||||
public StaticModule(GerritOptions options) {
|
||||
this.options = options;
|
||||
}
|
||||
|
@@ -35,6 +35,7 @@ import com.google.gerrit.httpd.WebSshGlueModule;
|
||||
import com.google.gerrit.httpd.auth.oauth.OAuthModule;
|
||||
import com.google.gerrit.httpd.auth.openid.OpenIdModule;
|
||||
import com.google.gerrit.httpd.plugins.HttpPluginModule;
|
||||
import com.google.gerrit.httpd.raw.StaticModule;
|
||||
import com.google.gerrit.lifecycle.LifecycleManager;
|
||||
import com.google.gerrit.lucene.LuceneIndexModule;
|
||||
import com.google.gerrit.metrics.dropwizard.DropWizardMetricMaker;
|
||||
@@ -451,6 +452,7 @@ public class Daemon extends SiteProgram {
|
||||
modules.add(H2CacheBasedWebSession.module());
|
||||
modules.add(sysInjector.getInstance(GitOverHttpModule.class));
|
||||
modules.add(sysInjector.getInstance(WebModule.class));
|
||||
modules.add(sysInjector.getInstance(StaticModule.class));
|
||||
modules.add(sysInjector.getInstance(RequireSslFilter.Module.class));
|
||||
modules.add(new HttpPluginModule());
|
||||
if (sshd) {
|
||||
|
@@ -23,6 +23,7 @@ import com.google.gerrit.gpg.GpgModule;
|
||||
import com.google.gerrit.httpd.auth.oauth.OAuthModule;
|
||||
import com.google.gerrit.httpd.auth.openid.OpenIdModule;
|
||||
import com.google.gerrit.httpd.plugins.HttpPluginModule;
|
||||
import com.google.gerrit.httpd.raw.StaticModule;
|
||||
import com.google.gerrit.lifecycle.LifecycleManager;
|
||||
import com.google.gerrit.lifecycle.LifecycleModule;
|
||||
import com.google.gerrit.lucene.LuceneIndexModule;
|
||||
@@ -354,6 +355,7 @@ public class WebAppInitializer extends GuiceServletContextListener
|
||||
modules.add(RequestMetricsFilter.module());
|
||||
modules.add(sysInjector.getInstance(GitOverHttpModule.class));
|
||||
modules.add(sysInjector.getInstance(WebModule.class));
|
||||
modules.add(sysInjector.getInstance(StaticModule.class));
|
||||
modules.add(sysInjector.getInstance(RequireSslFilter.Module.class));
|
||||
if (sshInjector != null) {
|
||||
modules.add(sshInjector.getInstance(WebSshGlueModule.class));
|
||||
|
Reference in New Issue
Block a user