8 releases (4 breaking)

0.5.1 Oct 31, 2024
0.5.0 Aug 26, 2024
0.4.0 Aug 20, 2024
0.3.0 Jul 21, 2024
0.1.1 Mar 27, 2023

#238 in HTTP client

Download history 167/week @ 2024-08-19 160/week @ 2024-08-26 7/week @ 2024-09-16 15/week @ 2024-09-23 6/week @ 2024-09-30 1/week @ 2024-10-07 2/week @ 2024-10-14 102/week @ 2024-10-28 15/week @ 2024-11-04 17/week @ 2024-11-11

134 downloads per month

EUPL-1.2

97KB
1.5K SLoC

libdav

Docs | Source | Issues | Patches | Chat

CalDav and CardDav client implementations. This crate is part of the vdirsyncer project.

Documentation for this library can be generated with cargo doc. The documentation for the stable releases is available at crates.io.

Licence

Copyright 2023-2024 Hugo Osvaldo Barrera
Licensed under the EUPL, Version 1.2 only
SPDX-License-Identifier: EUPL-1.2


lib.rs:

This library contains caldav and carddav clients.

See CalDavClient and CardDavClient as a useful entry points.

Both clients wrap a dav::WebDavClient, and implement Deref<Target = DavClient>, so all of WebDavClient's associated functions for are usable directly.

Service discovery

DNS-based service discovery is implemented in sd::find_context_url.

The implementation does not validate DNSSEC signatures. Because of this, discovery must only be used with a validating DNS resolver (as defined in rfc4033), or with domains served from a local, trusted networks.

Hrefs

All href strings returned by the server are unquoted by this library before being returned to consumers. I.e.: you should assume that all hrefs have been url-decoded for you.

All functions that take a parameter named href (or similar ones like calendar_href) expect their input to NOT be URL-encoded. I.e.: you do not need to perform any quoting.

See also

The source code is currently hosted at https://git.sr.ht/~whynothugo/libdav.

Dependencies

~9–18MB
~251K SLoC