Class LfsProtocolServlet

java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
org.eclipse.jgit.lfs.server.LfsProtocolServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public abstract class LfsProtocolServlet extends javax.servlet.http.HttpServlet
LFS protocol handler implementing the LFS batch API [1] [1] https://github.com/github/git-lfs/blob/master/docs/api/v1/http-v1-batch.md
Since:
4.3
See Also:
  • Field Details

    • LOG

      private static final org.slf4j.Logger LOG
    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • CONTENTTYPE_VND_GIT_LFS_JSON

      private static final String CONTENTTYPE_VND_GIT_LFS_JSON
      See Also:
    • SC_RATE_LIMIT_EXCEEDED

      private static final int SC_RATE_LIMIT_EXCEEDED
      See Also:
    • SC_BANDWIDTH_LIMIT_EXCEEDED

      private static final int SC_BANDWIDTH_LIMIT_EXCEEDED
      See Also:
  • Constructor Details

    • LfsProtocolServlet

      public LfsProtocolServlet()
  • Method Details

    • getLargeFileRepository

      protected abstract LargeFileRepository getLargeFileRepository(LfsProtocolServlet.LfsRequest request, String path, String auth) throws LfsException
      Get the large file repository for the given request and path.
      Parameters:
      request - the request
      path - the path
      auth - the Authorization HTTP header
      Returns:
      the large file repository storing large files.
      Throws:
      LfsException - implementations should throw more specific exceptions to signal which type of error occurred:
      LfsValidationError
      when there is a validation error with one or more of the objects in the request
      LfsRepositoryNotFound
      when the repository does not exist for the user
      LfsRepositoryReadOnly
      when the user has read, but not write access. Only applicable when the operation in the request is "upload"
      LfsRateLimitExceeded
      when the user has hit a rate limit with the server
      LfsBandwidthLimitExceeded
      when the bandwidth limit for the user or repository has been exceeded
      LfsInsufficientStorage
      when there is insufficient storage on the server
      LfsUnavailable
      when LFS is not available
      LfsException
      when an unexpected internal server error occurred
      Since:
      4.7
    • doPost

      protected void doPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws javax.servlet.ServletException, IOException
      Overrides:
      doPost in class javax.servlet.http.HttpServlet
      Throws:
      javax.servlet.ServletException
      IOException
    • sendError

      private void sendError(javax.servlet.http.HttpServletResponse rsp, Writer writer, int status, String message)