ExDav.CalDav.Plug (ExDav v0.1.0)

Copy Markdown View Source

Top-level Plug that handles CalDAV requests under the /dav prefix.

Resource layout:

/dav/                               root collection
/dav/principals/{user}/             principal resource
/dav/calendars/{user}/              calendar-home-set
/dav/calendars/{user}/{cal}/        calendar collection
/dav/calendars/{user}/{cal}/{obj}   calendar object resource (.ics)

All non-/dav/* requests pass through unmodified.

Required opts:

Example:

plug ExDav.CalDav.Plug,
  storage: ExDav.Storage.Postgres,
  authenticator: {ExDav.Authenticator.Basic,
                  verify: {ExDav.Storage.Postgres, :authenticate}}