in src/main/java/com/googlesource/gerrit/plugins/lfs/locks/LfsLocksAction.java [71:95]
public void run() throws IOException {
try {
String name = getProjectName();
ProjectState project = getProject(name);
CurrentUser user = getUser(name);
Optional<ProjectState> state = projectCache.get(project.getNameKey());
if (!state.isPresent()) {
throw new LfsRepositoryNotFound(project.getNameKey().get());
}
try {
authorizeUser(permissionBackend.user(user).project(state.get().getNameKey()));
} catch (AuthException | PermissionBackendException e) {
throwUnauthorizedOp(getAction(), project, user);
}
doRun(project, user);
} catch (LfsUnauthorized e) {
context.sendError(SC_UNAUTHORIZED, e.getMessage());
} catch (LfsRepositoryNotFound e) {
context.sendError(SC_NOT_FOUND, e.getMessage());
} catch (LfsLockExistsException e) {
context.sendError(SC_CONFLICT, e.error);
} catch (LfsException | StorageException e) {
context.sendError(SC_INTERNAL_SERVER_ERROR, e.getMessage());
}
}