/src/main/java/com/atlassian/stash/redirect/RepositoryRedirectRequestCheck.java
Java | 31 lines | 24 code | 7 blank | 0 comment | 4 complexity | dcd166acf12eabbccf529a0b4bd48e7b MD5 | raw file
1package com.atlassian.stash.redirect;
2
3import com.atlassian.stash.repository.Repository;
4import com.atlassian.stash.scm.ScmRequest;
5import com.atlassian.stash.scm.ScmRequestCheck;
6
7import javax.annotation.Nonnull;
8import java.io.IOException;
9
10public class RepositoryRedirectRequestCheck implements ScmRequestCheck {
11
12 private final RepositoryRedirectDao redirectDao;
13
14 public RepositoryRedirectRequestCheck(RepositoryRedirectDao redirectDao) {
15 this.redirectDao = redirectDao;
16 }
17
18 @Override
19 public boolean check(@Nonnull ScmRequest scmRequest) throws IOException {
20 Repository repository = scmRequest.getRepository();
21 if (repository != null) {
22 String redirectUrl = redirectDao.getRedirectUrl(repository.getId());
23 if (redirectUrl != null) {
24 scmRequest.sendError("THIS REPOSITORY HAS MOVED", "Please clone from " + redirectUrl);
25 return false;
26 }
27 }
28 return true;
29 }
30
31}