go-webdav icon indicating copy to clipboard operation
go-webdav copied to clipboard

carddav: fix PROPFIND for all path layouts

Open bitfehler opened this issue 2 years ago • 1 comments

Refactor the PROPFIND handling to properly support all possible path layouts (from "everything at /" to "everything at different path"). This includes adding a new method the Backend interface, as it is the authority that determines the path layout.

This fixes the recent regression of the broken "everything at /" layout. It also already provides the needed bits and pieces to support multiple address books.

bitfehler avatar Jul 13 '22 09:07 bitfehler

So, this is sort of v2 of #87, but completely different. First of all, it fixes the regression I introduced (and un-comments the respective test case). I successfully tested the "all at /" case with both cadaver and TB/CardBook.

The depth handling is a bit confusing, but I think bearable. It won't be simple if we want to support these different layouts. The good news is that all this should already (mostly) work with multiple address books, should we ever get there :wink:

I've stared at this for a too long now, and I figured your fresh eyes would surely have some valuable input, so here we go :slightly_smiling_face:

bitfehler avatar Jul 13 '22 09:07 bitfehler

Made obsolete by #101

bitfehler avatar Nov 15 '22 12:11 bitfehler