write mercurial hook module on first request

This commit is contained in:
Sebastian Sdorra
2011-07-21 20:21:08 +02:00
parent bd1cdc0a88
commit 5f1c5ded4e
5 changed files with 313 additions and 2 deletions

View File

@@ -36,8 +36,8 @@ package sonia.scm.web;
//~--- non-JDK imports --------------------------------------------------------
import com.google.inject.servlet.ServletModule;
import sonia.scm.plugin.ext.Extension;
import sonia.scm.plugin.ext.Extension;
import sonia.scm.web.filter.BasicAuthenticationFilter;
/**
@@ -48,6 +48,9 @@ import sonia.scm.web.filter.BasicAuthenticationFilter;
public class HgServletModule extends ServletModule
{
/** Field description */
public static final String MAPPING_ALL = "/*";
/** Field description */
public static final String MAPPING_HG = "/hg/*";
@@ -60,6 +63,11 @@ public class HgServletModule extends ServletModule
@Override
protected void configureServlets()
{
// write hook script
filter(MAPPING_ALL).through(HgHookScriptFilter.class);
// register hg cgi servlet
filter(MAPPING_HG).through(BasicAuthenticationFilter.class);
filter(MAPPING_HG).through(HgPermissionFilter.class);
serve(MAPPING_HG).with(HgCGIServlet.class);