Class GitFilter

java.lang.Object
org.eclipse.jgit.http.server.glue.MetaFilter
org.eclipse.jgit.http.server.GitFilter
All Implemented Interfaces:
jakarta.servlet.Filter

public class GitFilter extends MetaFilter
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 Details

    • GitFilter

      public GitFilter()
      New servlet that will load its base directory from web.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 the base-path parameter will be looked for in the parameter table during init, which usually comes from the web.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. If null 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 an UploadPack 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.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 attribute ServletUtils.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 a ReceivePack 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.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 attribute ServletUtils.ATTRIBUTE_HANDLER.
    • init

      public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException
      Specified by:
      init in interface jakarta.servlet.Filter
      Overrides:
      init in class MetaFilter
      Throws:
      jakarta.servlet.ServletException
    • register

      protected ServletBinder register(ServletBinder binder)
      Description copied from class: MetaFilter
      Configure a newly created binder.
      Overrides:
      register in class MetaFilter
      Parameters:
      binder - the newly created binder.
      Returns:
      binder for the caller, potentially after adding one or more filters into the pipeline.