-
Notifications
You must be signed in to change notification settings - Fork 42
Add CalDAV support #48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
LuceusXylian
commented
Aug 22, 2025
- Add CalDAV support
- CI: Check build with caldav
|
Partially fixes issue #8. |
Co-authored-by: Petr Ermishkin <petr@quasiyoke.me>
…/dav-server-rs into 3-pr-CalDAV-support
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive CalDAV support to the dav-server library, extending the existing WebDAV functionality with calendar-specific features. CalDAV is a standardized protocol for calendar data management over HTTP, defined in RFC 4791.
- Implements CalDAV methods (MKCALENDAR, REPORT) and calendar-specific WebDAV properties
- Adds iCalendar data validation and calendar query functionality
- Includes comprehensive test coverage and example application
- Makes CalDAV support optional via the "caldav" feature flag
Reviewed Changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/caldav_tests.rs | Comprehensive test suite covering CalDAV functionality |
| src/util.rs | Adds REPORT and MKCALENDAR methods to DavMethod enum |
| src/lib.rs | Updates documentation and exports CalDAV module |
| src/handle_props.rs | Extends property handling with CalDAV-specific properties |
| src/handle_options.rs | Advertises CalDAV capabilities in OPTIONS responses |
| src/handle_gethead.rs | Adds Nextcloud compatibility and improves HTML output |
| src/handle_caldav.rs | Core CalDAV request handling implementation |
| src/davheaders.rs | Extends Depth header enum with Default variant |
| src/davhandler.rs | Integrates CalDAV methods into main request handler |
| src/caldav.rs | CalDAV data structures and utility functions |
| src/body.rs | Makes body types public for external access |
| src/actix.rs | Minor code improvements and modernizations |
| examples/caldav.rs | Example CalDAV server implementation |
| README.CalDAV.md | Comprehensive CalDAV documentation |
| Cargo.toml | Adds CalDAV dependencies and version bump |
| .github/workflows/CI.yml | Adds CalDAV feature to CI builds |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
messense
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!