James Moger
2011-10-17 b2fde8f0dfe2d60b08724e92f919c1f68223101f
src/com/gitblit/SyndicationFilter.java
@@ -19,25 +19,60 @@
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
/**
 * The SyndicationFilter is an AccessRestrictionFilter which ensures that feed
 * requests for view-restricted repositories have proper authentication
 * credentials and are authorized for the requested feed.
 *
 * @author James Moger
 *
 */
public class SyndicationFilter extends AccessRestrictionFilter {
   /**
    * Extract the repository name from the url.
    *
    * @param url
    * @return repository name
    */
   @Override
   protected String extractRepositoryName(String url) {
      return url;
   }
   /**
    * Analyze the url and returns the action of the request.
    *
    * @param url
    * @return action of the request
    */
   @Override
   protected String getUrlRequestType(String url) {
      return "RESTRICTED";
   protected String getUrlRequestAction(String url) {
      return "VIEW";
   }
   /**
    * Determine if the repository requires authentication.
    *
    * @param repository
    * @return true if authentication required
    */
   @Override
   protected boolean requiresAuthentication(RepositoryModel repository) {
      return repository.accessRestriction.atLeast(AccessRestrictionType.VIEW);
   }
   /**
    * Determine if the user can access the repository and perform the specified
    * action.
    *
    * @param repository
    * @param user
    * @param action
    * @return true if user may execute the action on the repository
    */
   @Override
   protected boolean canAccess(RepositoryModel repository, UserModel user, String restrictedURL) {
   protected boolean canAccess(RepositoryModel repository, UserModel user, String action) {
      return user.canAccessRepository(repository.name);
   }