James Moger
2015-09-18 a592329a82d0a85d33abcc63f08df20b79e8e4f7
src/main/java/com/gitblit/servlet/AccessRestrictionFilter.java
@@ -19,20 +19,18 @@
import java.text.MessageFormat;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.StringUtils;
import dagger.ObjectGraph;
/**
 * The AccessRestrictionFilter is an AuthenticationFilter that confirms that the
@@ -54,11 +52,15 @@
   protected IRepositoryManager repositoryManager;
   @Override
   protected void inject(ObjectGraph dagger, FilterConfig filterConfig) {
      super.inject(dagger, filterConfig);
      this.runtimeManager = dagger.get(IRuntimeManager.class);
      this.repositoryManager = dagger.get(IRepositoryManager.class);
   protected AccessRestrictionFilter(
         IRuntimeManager runtimeManager,
         IAuthenticationManager authenticationManager,
         IRepositoryManager repositoryManager) {
      super(authenticationManager);
      this.runtimeManager = runtimeManager;
      this.repositoryManager = repositoryManager;
   }
   /**
@@ -141,6 +143,10 @@
      String fullUrl = getFullUrl(httpRequest);
      String repository = extractRepositoryName(fullUrl);
      if (StringUtils.isEmpty(repository)) {
         httpResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST);
         return;
      }
      if (repositoryManager.isCollectingGarbage(repository)) {
         logger.info(MessageFormat.format("ARF: Rejecting request for {0}, busy collecting garbage!", repository));