Package org.eclipse.jgit.http.server
Class GitServlet
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- org.eclipse.jgit.http.server.glue.MetaServlet
-
- org.eclipse.jgit.http.server.GitServlet
-
- All Implemented Interfaces:
Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
public class GitServlet extends MetaServlet
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 throughMetaServlet.serve(String)
, or their regex translations throughMetaServlet.serveRegex(String)
. Each translation should contain a complete filter pipeline which ends with the HttpServlet that should handle the requested action.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description GitServlet()
New servlet that will load its base directory fromweb.xml
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addReceivePackFilter(javax.servlet.Filter filter)
Add receive-pack filtervoid
addUploadPackFilter(javax.servlet.Filter filter)
Add upload-pack filtervoid
init(javax.servlet.ServletConfig config)
void
setAsIsFileService(AsIsFileService f)
Set AsIsFileServicevoid
setReceivePackErrorHandler(ReceivePackErrorHandler h)
Set a custom error handler for git-receive-pack.void
setReceivePackFactory(ReceivePackFactory<javax.servlet.http.HttpServletRequest> f)
Set receive-pack factoryvoid
setRepositoryResolver(RepositoryResolver<javax.servlet.http.HttpServletRequest> resolver)
New servlet configured with a specific resolver.void
setUploadPackErrorHandler(UploadPackErrorHandler h)
Set a custom error handler for git-upload-pack.void
setUploadPackFactory(UploadPackFactory<javax.servlet.http.HttpServletRequest> f)
Set upload-pack factory-
Methods inherited from class org.eclipse.jgit.http.server.glue.MetaServlet
destroy, getDelegateFilter, register, serve, serveRegex, service
-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
-
-
-
-
Method Detail
-
setRepositoryResolver
public void setRepositoryResolver(RepositoryResolver<javax.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
public void setAsIsFileService(AsIsFileService f)
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(UploadPackFactory<javax.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
public void setUploadPackErrorHandler(UploadPackErrorHandler h)
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(javax.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(ReceivePackFactory<javax.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
public void setReceivePackErrorHandler(ReceivePackErrorHandler h)
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(javax.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(javax.servlet.ServletConfig config) throws javax.servlet.ServletException
- Specified by:
init
in interfacejavax.servlet.Servlet
- Overrides:
init
in classMetaServlet
- Throws:
javax.servlet.ServletException
-
-