diff --git a/backend/app/dav/caldav.py b/backend/app/dav/caldav.py index 489d679..70effce 100644 --- a/backend/app/dav/caldav.py +++ b/backend/app/dav/caldav.py @@ -255,9 +255,12 @@ def propfind(subpath=''): multistatus = ET.Element(_qn('d', 'multistatus')) parts = [p for p in subpath.split('/') if p] - # /dav/ (root): return principal pointer + # /dav/ (root) or / (when called via the app-level shortcut for DAVx5) if not parts: - multistatus.append(_root_response('/dav/', user)) + # Use the actual request path so Clients wie DAVx5 die href passend + # zu ihrer Anfrage sehen. + request_href = request.path if request.path.endswith('/') else request.path + '/' + multistatus.append(_root_response(request_href, user)) if depth != '0': multistatus.append(_principal_response(user)) return _xml_response(multistatus)