Expand description
WebDAV machinery CalDAV and CardDAV share: object parsing (object), XML (xml), the
server engine (server), the client engine (client) and the per-protocol actions.
Modules§
- actions
- Action and event definitions CalDAV and CardDAV share, named per protocol (
caldav_*,carddav_*). - client
- The DAV client engine CalDAV and CardDAV share: RFC 6764 discovery, PROPFIND, REPORT queries and multistatus parsing, object GET/PUT/DELETE with preconditions, and collection creation. Outgoing objects are validated with the server’s own parser.
- object
- iCalendar (RFC 5545) and vCard (RFC 6350 / 2426) objects as CalDAV and CardDAV need them: content lines unfolded and parsed, components nested and checked, the UID found, and the properties the REPORT filters read.
- server
- The DAV server engine CalDAV and CardDAV share. Rust owns the URL space (principals, homes, collections, objects), discovery, PROPFIND/REPORT evaluation, object validation, ETags, preconditions and authentication; the handler owns logins and every collection and object.
- xml
- WebDAV XML (RFC 4918) as CalDAV and CardDAV use it: request bodies parsed into a small namespace-resolved tree, PROPFIND and REPORT bodies interpreted, multistatus responses written.