/src/main/java/com/atlassian/stash/redirect/RepositoryRedirectRequestCheck.java

https://bitbucket.org/tpettersen/stash-redirect-plugin · Java · 31 lines · 24 code · 7 blank · 0 comment · 4 complexity · dcd166acf12eabbccf529a0b4bd48e7b MD5 · raw file

  1. package com.atlassian.stash.redirect;
  2. import com.atlassian.stash.repository.Repository;
  3. import com.atlassian.stash.scm.ScmRequest;
  4. import com.atlassian.stash.scm.ScmRequestCheck;
  5. import javax.annotation.Nonnull;
  6. import java.io.IOException;
  7. public class RepositoryRedirectRequestCheck implements ScmRequestCheck {
  8. private final RepositoryRedirectDao redirectDao;
  9. public RepositoryRedirectRequestCheck(RepositoryRedirectDao redirectDao) {
  10. this.redirectDao = redirectDao;
  11. }
  12. @Override
  13. public boolean check(@Nonnull ScmRequest scmRequest) throws IOException {
  14. Repository repository = scmRequest.getRepository();
  15. if (repository != null) {
  16. String redirectUrl = redirectDao.getRedirectUrl(repository.getId());
  17. if (redirectUrl != null) {
  18. scmRequest.sendError("THIS REPOSITORY HAS MOVED", "Please clone from " + redirectUrl);
  19. return false;
  20. }
  21. }
  22. return true;
  23. }
  24. }