Allow anything after "/register/"
When PolyGerrit is enabled, a new user who logs in for the first time when viewing a change will eventually end up directed to a path like "/register/c/12345". If a user visits such a URL directly (or reloads after being redirected there), they shouldn't get a 404 page. Change-Id: I0c7f2972670ddcfdd5ac031a89c235d2fe0510aa
This commit is contained in:
		@@ -92,7 +92,7 @@ class UrlModule extends ServletModule {
 | 
			
		||||
    serve("/starred").with(query("is:starred"));
 | 
			
		||||
 | 
			
		||||
    serveRegex("^/settings/?$").with(screen(PageLinks.SETTINGS));
 | 
			
		||||
    serveRegex("^/register/?$").with(screen(PageLinks.REGISTER + "/"));
 | 
			
		||||
    serveRegex("^/register(/.*)?$").with(registerScreen());
 | 
			
		||||
    serveRegex("^/([1-9][0-9]*)/?$").with(directChangeById());
 | 
			
		||||
    serveRegex("^/p/(.*)$").with(queryProjectNew());
 | 
			
		||||
    serveRegex("^/r/(.+)/?$").with(DirectChangeByCommit.class);
 | 
			
		||||
@@ -243,6 +243,18 @@ class UrlModule extends ServletModule {
 | 
			
		||||
    return srv;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private Key<HttpServlet> registerScreen() {
 | 
			
		||||
    return key(new HttpServlet() {
 | 
			
		||||
      private static final long serialVersionUID = 1L;
 | 
			
		||||
 | 
			
		||||
      @Override
 | 
			
		||||
      protected void doGet(final HttpServletRequest req,
 | 
			
		||||
          final HttpServletResponse rsp) throws IOException {
 | 
			
		||||
        toGerrit("/register" + req.getPathInfo(), req, rsp);
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  static void toGerrit(final String target, final HttpServletRequest req,
 | 
			
		||||
      final HttpServletResponse rsp) throws IOException {
 | 
			
		||||
    final StringBuilder url = new StringBuilder();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user