Joel Johnson
2015-06-22 a3e480e28aa25dbbe341b10cfeb3fb1cfa625d18
src/main/java/com/gitblit/servlet/AccessRestrictionFilter.java
@@ -25,13 +25,12 @@
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
@@ -53,11 +52,15 @@
   protected IRepositoryManager repositoryManager;
   @Override
   protected void inject(ObjectGraph dagger) {
      super.inject(dagger);
      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;
   }
   /**
@@ -140,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));