From 04c4033695761afdab725834ee7f27fd4f14a5e4 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Thu, 8 Mar 2018 10:22:43 +0000 Subject: [PATCH] backend/rest: check HTTP error response for List Before this change restic would attempt to JSON decode the error message resulting in confusing `Decode: invalid character 'B' looking for beginning of value` messages. Afterwards it will return `List failed, server response: 400 Bad Request (400)` --- internal/backend/rest/rest.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/backend/rest/rest.go b/internal/backend/rest/rest.go index 24b177a98..5f8c5d137 100644 --- a/internal/backend/rest/rest.go +++ b/internal/backend/rest/rest.go @@ -335,7 +335,11 @@ func (b *restBackend) List(ctx context.Context, t restic.FileType, fn func(resti b.sem.ReleaseToken() if err != nil { - return errors.Wrap(err, "Get") + return errors.Wrap(err, "List") + } + + if resp.StatusCode != 200 { + return errors.Errorf("List failed, server response: %v (%v)", resp.Status, resp.StatusCode) } if resp.Header.Get("Content-Type") == contentTypeV2 {