| | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | |
| | | import com.gitblit.GitBlit; |
| | | import com.gitblit.Gitblit; |
| | | import com.gitblit.IStoredSettings; |
| | | import com.gitblit.Keys; |
| | | import com.gitblit.manager.IRepositoryManager; |
| | | import com.gitblit.manager.IRuntimeManager; |
| | | import com.gitblit.manager.IUserManager; |
| | | import com.gitblit.models.RepositoryModel; |
| | | import com.gitblit.models.UserModel; |
| | | import com.gitblit.utils.HttpUtils; |
| | |
| | | |
| | | protected final Logger logger = LoggerFactory.getLogger(GitblitReceivePackFactory.class); |
| | | |
| | | private final IStoredSettings settings; |
| | | |
| | | private final Gitblit gitblit; |
| | | |
| | | public GitblitReceivePackFactory(Gitblit gitblit) { |
| | | super(); |
| | | this.settings = gitblit.getSettings(); |
| | | this.gitblit = gitblit; |
| | | } |
| | | |
| | | @Override |
| | | public ReceivePack create(X req, Repository db) |
| | | throws ServiceNotEnabledException, ServiceNotAuthorizedException { |
| | | |
| | | IStoredSettings settings = GitBlit.getManager(IRuntimeManager.class).getSettings(); |
| | | IUserManager userManager = GitBlit.getManager(IUserManager.class); |
| | | IRepositoryManager repositoryManager = GitBlit.getManager(IRepositoryManager.class); |
| | | |
| | | UserModel user = UserModel.ANONYMOUS; |
| | | String repositoryName = ""; |
| | |
| | | // determine pushing user |
| | | String username = request.getRemoteUser(); |
| | | if (!StringUtils.isEmpty(username)) { |
| | | UserModel u = userManager.getUserModel(username); |
| | | UserModel u = gitblit.getUserModel(username); |
| | | if (u != null) { |
| | | user = u; |
| | | } |
| | |
| | | throw new ServiceNotEnabledException(); |
| | | } |
| | | |
| | | final RepositoryModel repository = repositoryManager.getRepositoryModel(repositoryName); |
| | | final RepositoryModel repository = gitblit.getRepositoryModel(repositoryName); |
| | | |
| | | final GitblitReceivePack rp = new GitblitReceivePack(db, repository, user); |
| | | final GitblitReceivePack rp = new GitblitReceivePack(gitblit, db, repository, user); |
| | | rp.setGitblitUrl(gitblitUrl); |
| | | rp.setRepositoryUrl(repositoryUrl); |
| | | rp.setRefLogIdent(new PersonIdent(user.username, user.username + "@" + origin)); |