mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-12 08:25:44 +01:00
call repository request listeners before the git servlet is executed
This commit is contained in:
@@ -44,6 +44,7 @@ import org.eclipse.jgit.lib.Repository;
|
|||||||
import org.eclipse.jgit.transport.resolver.RepositoryResolver;
|
import org.eclipse.jgit.transport.resolver.RepositoryResolver;
|
||||||
|
|
||||||
import sonia.scm.repository.GitUtil;
|
import sonia.scm.repository.GitUtil;
|
||||||
|
import sonia.scm.repository.RepositoryRequestListenerUtil;
|
||||||
import sonia.scm.util.HttpUtil;
|
import sonia.scm.util.HttpUtil;
|
||||||
|
|
||||||
//~--- JDK imports ------------------------------------------------------------
|
//~--- JDK imports ------------------------------------------------------------
|
||||||
@@ -79,15 +80,18 @@ public class ScmGitServlet extends GitServlet
|
|||||||
* @param repositoryResolver
|
* @param repositoryResolver
|
||||||
* @param receivePackFactory
|
* @param receivePackFactory
|
||||||
* @param repositoryProvider
|
* @param repositoryProvider
|
||||||
|
* @param repositoryRequestListenerUtil
|
||||||
*/
|
*/
|
||||||
@Inject
|
@Inject
|
||||||
public ScmGitServlet(
|
public ScmGitServlet(
|
||||||
GitRepositoryResolver repositoryResolver,
|
GitRepositoryResolver repositoryResolver,
|
||||||
GitReceivePackFactory receivePackFactory,
|
GitReceivePackFactory receivePackFactory,
|
||||||
Provider<sonia.scm.repository.Repository> repositoryProvider)
|
Provider<sonia.scm.repository.Repository> repositoryProvider,
|
||||||
|
RepositoryRequestListenerUtil repositoryRequestListenerUtil)
|
||||||
{
|
{
|
||||||
this.resolver = repositoryResolver;
|
this.resolver = repositoryResolver;
|
||||||
this.repositoryProvider = repositoryProvider;
|
this.repositoryProvider = repositoryProvider;
|
||||||
|
this.repositoryRequestListenerUtil = repositoryRequestListenerUtil;
|
||||||
setRepositoryResolver(repositoryResolver);
|
setRepositoryResolver(repositoryResolver);
|
||||||
setReceivePackFactory(receivePackFactory);
|
setReceivePackFactory(receivePackFactory);
|
||||||
}
|
}
|
||||||
@@ -113,6 +117,14 @@ public class ScmGitServlet extends GitServlet
|
|||||||
|
|
||||||
if (uri.matches(REGEX_GITHTTPBACKEND))
|
if (uri.matches(REGEX_GITHTTPBACKEND))
|
||||||
{
|
{
|
||||||
|
sonia.scm.repository.Repository repository = repositoryProvider.get();
|
||||||
|
|
||||||
|
if (repository != null)
|
||||||
|
{
|
||||||
|
repositoryRequestListenerUtil.callListeners(request, response,
|
||||||
|
repository);
|
||||||
|
}
|
||||||
|
|
||||||
super.service(request, response);
|
super.service(request, response);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -168,6 +180,9 @@ public class ScmGitServlet extends GitServlet
|
|||||||
/** Field description */
|
/** Field description */
|
||||||
private Provider<sonia.scm.repository.Repository> repositoryProvider;
|
private Provider<sonia.scm.repository.Repository> repositoryProvider;
|
||||||
|
|
||||||
|
/** Field description */
|
||||||
|
private RepositoryRequestListenerUtil repositoryRequestListenerUtil;
|
||||||
|
|
||||||
/** Field description */
|
/** Field description */
|
||||||
private RepositoryResolver<HttpServletRequest> resolver;
|
private RepositoryResolver<HttpServletRequest> resolver;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user