From 8cc6542f1c345a2460bd46f472f9f3118e5904a0 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 29 Apr 2022 15:24:24 +0200 Subject: [PATCH] carddav: use partial error response on multiget failure Instead of making the whole HTTP request fail when a single address object cannot be fetched, return a partial error response. --- carddav/server.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/carddav/server.go b/carddav/server.go index e69d3c1..103f65d 100644 --- a/carddav/server.go +++ b/carddav/server.go @@ -205,7 +205,9 @@ func (h *Handler) handleMultiget(ctx context.Context, w http.ResponseWriter, mul for _, href := range multiget.Hrefs { ao, err := h.Backend.GetAddressObject(ctx, href.Path, &dataReq) if err != nil { - return err // TODO: create internal.Response with error + resp := internal.NewErrorResponse(href.Path, err) + resps = append(resps, *resp) + continue } b := backend{h.Backend}