From e0c72c187d39ed7caa0f45ad4935513d435925ed Mon Sep 17 00:00:00 2001 From: Rutger Broekhoff Date: Tue, 2 Jan 2024 01:22:19 +0100 Subject: Try generating more descriptive errors --- cmd/git-lfs-server/main.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'cmd/git-lfs-server') diff --git a/cmd/git-lfs-server/main.go b/cmd/git-lfs-server/main.go index 3bb1173..0379117 100644 --- a/cmd/git-lfs-server/main.go +++ b/cmd/git-lfs-server/main.go @@ -372,7 +372,16 @@ func (h *handler) handlePutObject(w http.ResponseWriter, r *http.Request, repo, SendContentMd5: true, }) if err != nil { - makeRespError(ctx, w, "Failed to upload object", http.StatusInternalServerError) + if errors.Is(err, errBadSum) { + makeRespError(ctx, w, "Bad checksum (OID does not match contents)", http.StatusBadRequest) + } else if errors.Is(err, errTooSmall) { + makeRespError(ctx, w, "Uploaded object smaller than expected", http.StatusBadRequest) + } else if errors.Is(err, errTooBig) { + makeRespError(ctx, w, "Uploaded object bigger than expected", http.StatusBadRequest) + } else { + reqlog(ctx, "Failed to upload object: %s", err) + makeRespError(ctx, w, "Failed to upload object", http.StatusInternalServerError) + } return } } -- cgit v1.2.3