LargeFileRepository repo = null;
try {
repo = getLargeFileRepository(request, path,
req.getHeader(HDR_AUTHORIZATION));
if (repo == null) {
LfsGson.toJson(handler.process(), w);
} catch (LfsValidationError e) {
sendError(res, w, SC_UNPROCESSABLE_ENTITY, e.getMessage());
} catch (LfsRepositoryNotFound e) {
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 (LfsInsufficientStorage e) {
sendError(res, w, SC_INSUFFICIENT_STORAGE, e.getMessage());
} catch (LfsUnavailable e) {
sendError(res, w, SC_SERVICE_UNAVAILABLE, e.getMessage());
} catch (LfsUnauthorized e) {
sendError(res, w, SC_UNAUTHORIZED, e.getMessage());
} catch (LfsException e) {
sendError(res, w, SC_INTERNAL_SERVER_ERROR, e.getMessage());
} finally {
w.flush();