From c75304637f5535e634e57d4ed933c0fdb594d890 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 28 Oct 2011 08:08:00 -0400 Subject: [PATCH] Added a list branches rpc --- src/com/gitblit/SyndicationFilter.java | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 41 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/SyndicationFilter.java b/src/com/gitblit/SyndicationFilter.java index 68f383b..9c7a863 100644 --- a/src/com/gitblit/SyndicationFilter.java +++ b/src/com/gitblit/SyndicationFilter.java @@ -19,25 +19,63 @@ 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) { + if (url.indexOf('?') > -1) { + return url.substring(0, url.indexOf('?')); + } 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); } -- Gitblit v1.9.1