List of usage examples for org.eclipse.jgit.http.server.glue MetaFilter serveRegex
public ServletBinder serveRegex(Pattern pattern)
From source file:com.google.gitiles.TestViewFilter.java
License:Open Source License
public static Result service(TestRepository<? extends DfsRepository> repo, String pathAndQuery) throws IOException, ServletException { TestServlet servlet = new TestServlet(); ViewFilter vf = new ViewFilter(new TestGitilesAccess(repo.getRepository()), TestGitilesUrls.URLS, new VisibilityCache(false)); MetaFilter mf = new MetaFilter(); for (Pattern p : ImmutableList.of(ROOT_REGEX, REPO_REGEX, REPO_PATH_REGEX)) { mf.serveRegex(p).through(vf).with(servlet); }/*from www .ja v a 2s . c om*/ FakeHttpServletRequest req = newRequest(repo, pathAndQuery); req.setAttribute(ServletUtils.ATTRIBUTE_REPOSITORY, repo.getRepository()); FakeHttpServletResponse res = new FakeHttpServletResponse(); dummyServlet(mf).service(req, res); if (servlet.view != null) { ViewFilter.setView(req, servlet.view); if (servlet.view.getRepositoryName() != null) { assertEquals(repo.getRepository().getDescription().getRepositoryName(), servlet.view.getRepositoryName()); } } return new Result(servlet.view, req, res); }
From source file:com.google.gitiles.ViewFilterTest.java
License:Open Source License
private GitilesView getView(String pathAndQuery) throws ServletException, IOException { final AtomicReference<GitilesView> view = Atomics.newReference(); HttpServlet testServlet = new HttpServlet() { @Override// w w w .ja v a 2s.co m protected void doGet(HttpServletRequest req, HttpServletResponse res) { view.set(ViewFilter.getView(req)); } }; ViewFilter vf = new ViewFilter(new TestGitilesAccess(repo.getRepository()), TestGitilesUrls.URLS, new VisibilityCache(false)); MetaFilter mf = new MetaFilter(); for (Pattern p : ImmutableList.of(ROOT_REGEX, REPO_REGEX, REPO_PATH_REGEX)) { mf.serveRegex(p).through(vf).with(testServlet); } FakeHttpServletRequest req = newRequest(repo.getRepository()); int q = pathAndQuery.indexOf('?'); if (q > 0) { req.setPathInfo(pathAndQuery.substring(0, q)); req.setQueryString(pathAndQuery.substring(q + 1)); } else { req.setPathInfo(pathAndQuery); } new MetaServlet(mf) { }.service(req, new FakeHttpServletResponse()); return view.get(); }