LfsApiServlet: use LfsRequest.is(Upload|Download) methods
Redefinition of operation is no longer needed.
Change-Id: I33bfc56f7527686f27f13679f333a9cf8e6321ee
Signed-off-by: Jacek Centkowski <jcentkowski@collab.net>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/lfs/LfsApiServlet.java b/src/main/java/com/googlesource/gerrit/plugins/lfs/LfsApiServlet.java
index dfb5941..c470616 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/lfs/LfsApiServlet.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/lfs/LfsApiServlet.java
@@ -53,8 +53,6 @@
private static final Logger log = LoggerFactory.getLogger(LfsApiServlet.class);
private static final long serialVersionUID = 1L;
private static final Pattern URL_PATTERN = Pattern.compile(LFS_OBJECTS_REGEX_REST);
- private static final String DOWNLOAD = "download";
- private static final String UPLOAD = "upload";
private final ProjectCache projectCache;
private final PermissionBackend permissionBackend;
@@ -90,12 +88,9 @@
if (state == null || state.getProject().getState() == HIDDEN) {
throw new LfsRepositoryNotFound(project.get());
}
- authorizeUser(
- userProvider.getUser(auth, projName, request.getOperation()),
- state,
- request.getOperation());
+ authorizeUser(userProvider.getUser(auth, projName, request.getOperation()), state, request);
- if (request.getOperation().equals(UPLOAD) && state.getProject().getState() == READ_ONLY) {
+ if (request.isUpload() && state.getProject().getState() == READ_ONLY) {
throw new LfsRepositoryReadOnly(project.get());
}
@@ -104,7 +99,7 @@
// No config means we default to "not enabled".
if (config != null && config.isEnabled()) {
// For uploads, check object sizes against limit if configured
- if (request.getOperation().equals(UPLOAD)) {
+ if (request.isUpload()) {
if (config.isReadOnly()) {
throw new LfsRepositoryReadOnly(project.get());
}
@@ -128,16 +123,16 @@
throw new LfsUnavailable(project.get());
}
- private void authorizeUser(CurrentUser user, ProjectState state, String operation)
+ private void authorizeUser(CurrentUser user, ProjectState state, LfsRequest request)
throws LfsUnauthorized {
ProjectControl control = state.controlFor(user);
- if ((operation.equals(DOWNLOAD)
+ if ((request.isDownload()
&& !permissionBackend
.user(user)
.project(state.getProject().getNameKey())
.testOrFalse(ACCESS))
- || (operation.equals(UPLOAD) && Capable.OK != control.canPushToAtLeastOneRef())) {
- String op = operation.toLowerCase();
+ || (request.isUpload() && Capable.OK != control.canPushToAtLeastOneRef())) {
+ String op = request.getOperation().toLowerCase();
String project = state.getProject().getName();
String userName =
Strings.isNullOrEmpty(user.getUserName()) ? "anonymous" : user.getUserName();