Package org.eclipse.jgit.lfs.server
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
LFS request. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private static final org.slf4j.Logger
private static final int
private static final int
private static final long
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doPost
(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) protected abstract LargeFileRepository
getLargeFileRepository
(LfsProtocolServlet.LfsRequest request, String path, String auth) Get the large file repository for the given request and path.private void
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPut, doTrace, getLastModified, service, service
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
serialVersionUID
private static final long serialVersionUID- See Also:
-
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 requestpath
- the pathauth
- 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 classjavax.servlet.http.HttpServlet
- Throws:
javax.servlet.ServletException
IOException
-
sendError
-