Package org.eclipse.jgit.http.server
Class GitServlet
java.lang.Object
jakarta.servlet.GenericServlet
jakarta.servlet.http.HttpServlet
org.eclipse.jgit.http.server.glue.MetaServlet
org.eclipse.jgit.http.server.GitServlet
- All Implemented Interfaces:
jakarta.servlet.Servlet
,jakarta.servlet.ServletConfig
,Serializable
Handles Git repository access over HTTP.
Applications embedding this servlet should map a directory path within the application to this servlet, for example:
<servlet> <servlet-name>GitServlet</servlet-name> <servlet-class>org.eclipse.jgit.http.server.GitServlet</servlet-class> <init-param> <param-name>base-path</param-name> <param-value>/var/srv/git</param-value> </init-param> <init-param> <param-name>export-all</param-name> <param-value>0</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>GitServlet</servlet-name> <url-pattern>/git/*</url-pattern> </servlet-mapping>
Applications may wish to add additional repository action URLs to this
servlet by taking advantage of its extension from
MetaServlet
. Callers may register
their own URL suffix translations through MetaServlet.serve(String)
, or their
regex translations through MetaServlet.serveRegex(String)
. Each translation
should contain a complete filter pipeline which ends with the HttpServlet
that should handle the requested action.
- See Also:
-
Field Summary
Fields inherited from class jakarta.servlet.http.HttpServlet
LEGACY_DO_HEAD
-
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.ServletConfig config) 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 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.MetaServlet
destroy, getDelegateFilter, register, serve, serveRegex, service
Methods inherited from class jakarta.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPatch, doPost, doPut, doTrace, getLastModified, isSensitiveHeader, service
Methods inherited from class jakarta.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
-
Constructor Details
-
GitServlet
public GitServlet()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.9.1
-
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 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.9.1
-
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.ServletConfig config) throws jakarta.servlet.ServletException - Specified by:
init
in interfacejakarta.servlet.Servlet
- Overrides:
init
in classMetaServlet
- Throws:
jakarta.servlet.ServletException
-