Package org.eclipse.jgit.http.server
Class GitFilter
java.lang.Object
org.eclipse.jgit.http.server.glue.MetaFilter
org.eclipse.jgit.http.server.GitFilter
- All Implemented Interfaces:
jakarta.servlet.Filter
Handles Git repository access over HTTP.
Applications embedding this filter should map a directory path within the
application to this filter. For a servlet version, see
GitServlet
.
Applications may wish to add additional repository action URLs to this
servlet by taking advantage of its extension from
MetaFilter
. Callers may register
their own URL suffix translations through MetaFilter.serve(String)
, or their
regex translations through MetaFilter.serveRegex(String)
. Each translation
should contain a complete filter pipeline which ends with the HttpServlet
that should handle the requested action.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addReceivePackFilter
(jakarta.servlet.Filter filter) Add receive-pack filtervoid
addUploadPackFilter
(jakarta.servlet.Filter filter) Add upload-pack filtervoid
init
(jakarta.servlet.FilterConfig filterConfig) protected ServletBinder
register
(ServletBinder binder) Configure a newly created binder.void
Set AsIsFileServicevoid
Set a custom error handler for git-receive-pack.void
setReceivePackFactory
(org.eclipse.jgit.transport.resolver.ReceivePackFactory<jakarta.servlet.http.HttpServletRequest> f) Set the receive-pack factoryvoid
setRepositoryResolver
(org.eclipse.jgit.transport.resolver.RepositoryResolver<jakarta.servlet.http.HttpServletRequest> resolver) New servlet configured with a specific resolver.void
Set a custom error handler for git-upload-pack.void
setUploadPackFactory
(org.eclipse.jgit.transport.resolver.UploadPackFactory<jakarta.servlet.http.HttpServletRequest> f) Set upload-pack factoryMethods inherited from class org.eclipse.jgit.http.server.glue.MetaFilter
destroy, doFilter, serve, serveRegex, serveRegex
-
Constructor Details
-
GitFilter
public GitFilter()New servlet that will load its base directory fromweb.xml
.The required parameter
base-path
must be configured to point to the local filesystem directory where all served Git repositories reside.
-
-
Method Details
-
setRepositoryResolver
public void setRepositoryResolver(org.eclipse.jgit.transport.resolver.RepositoryResolver<jakarta.servlet.http.HttpServletRequest> resolver) New servlet configured with a specific resolver.- Parameters:
resolver
- the resolver to use when matching URL to Git repository. If null thebase-path
parameter will be looked for in the parameter table during init, which usually comes from theweb.xml
file of the web application.
-
setAsIsFileService
Set AsIsFileService- Parameters:
f
- the filter to validate direct access to repository files through a dumb client. Ifnull
then dumb client support is completely disabled.
-
setUploadPackFactory
public void setUploadPackFactory(org.eclipse.jgit.transport.resolver.UploadPackFactory<jakarta.servlet.http.HttpServletRequest> f) Set upload-pack factory- Parameters:
f
- the factory to construct and configure anUploadPack
session when a fetch or clone is requested by a client.
-
setUploadPackErrorHandler
Set a custom error handler for git-upload-pack.- Parameters:
h
- A custom error handler for git-upload-pack.- Since:
- 5.6
-
addUploadPackFilter
public void addUploadPackFilter(jakarta.servlet.Filter filter) Add upload-pack filter- Parameters:
filter
- filter to apply before any of the UploadPack operations. The UploadPack instance is available in the request attributeServletUtils.ATTRIBUTE_HANDLER
.
-
setReceivePackFactory
public void setReceivePackFactory(org.eclipse.jgit.transport.resolver.ReceivePackFactory<jakarta.servlet.http.HttpServletRequest> f) Set the receive-pack factory- Parameters:
f
- the factory to construct and configure aReceivePack
session when a push is requested by a client.
-
setReceivePackErrorHandler
Set a custom error handler for git-receive-pack.- Parameters:
h
- A custom error handler for git-receive-pack.- Since:
- 5.7
-
addReceivePackFilter
public void addReceivePackFilter(jakarta.servlet.Filter filter) Add receive-pack filter- Parameters:
filter
- filter to apply before any of the ReceivePack operations. The ReceivePack instance is available in the request attributeServletUtils.ATTRIBUTE_HANDLER
.
-
init
public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException - Specified by:
init
in interfacejakarta.servlet.Filter
- Overrides:
init
in classMetaFilter
- Throws:
jakarta.servlet.ServletException
-
register
Description copied from class:MetaFilter
Configure a newly created binder.- Overrides:
register
in classMetaFilter
- Parameters:
binder
- the newly created binder.- Returns:
- binder for the caller, potentially after adding one or more filters into the pipeline.
-