Skip to main content

Module dav_common

Module dav_common 

Source
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.