diff options
Diffstat (limited to 'org.eclipse.jgit.lfs.server/src/org')
-rw-r--r-- | org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/LfsProtocolServlet.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/LfsProtocolServlet.java b/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/LfsProtocolServlet.java index 095ed4c5ae..d335b720bd 100644 --- a/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/LfsProtocolServlet.java +++ b/org.eclipse.jgit.lfs.server/src/org/eclipse/jgit/lfs/server/LfsProtocolServlet.java @@ -63,7 +63,9 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jgit.lfs.errors.LfsBandwidthLimitExceeded; import org.eclipse.jgit.lfs.errors.LfsException; +import org.eclipse.jgit.lfs.errors.LfsRateLimitExceeded; import org.eclipse.jgit.lfs.errors.LfsRepositoryNotFound; import org.eclipse.jgit.lfs.errors.LfsRepositoryReadOnly; import org.eclipse.jgit.lfs.errors.LfsValidationError; @@ -86,6 +88,10 @@ public abstract class LfsProtocolServlet extends HttpServlet { private static final String CONTENTTYPE_VND_GIT_LFS_JSON = "application/vnd.git-lfs+json; charset=utf-8"; //$NON-NLS-1$ + private static final int SC_RATE_LIMIT_EXCEEDED = 429; + + private static final int SC_BANDWIDTH_LIMIT_EXCEEDED = 509; + private Gson gson = createGson(); /** @@ -163,6 +169,10 @@ public abstract class LfsProtocolServlet extends HttpServlet { sendError(res, w, SC_NOT_FOUND, e.getMessage()); } catch (LfsRepositoryReadOnly e) { sendError(res, w, SC_FORBIDDEN, e.getMessage()); + } catch (LfsRateLimitExceeded e) { + sendError(res, w, SC_RATE_LIMIT_EXCEEDED, e.getMessage()); + } catch (LfsBandwidthLimitExceeded e) { + sendError(res, w, SC_BANDWIDTH_LIMIT_EXCEEDED, e.getMessage()); } catch (LfsException e) { sendError(res, w, SC_SERVICE_UNAVAILABLE, e.getMessage()); } finally { |