vibe-dav 0.4.8

Dav support for vibe.d

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:


A library that adds DAV support to vibe.d


FileDav with locking CalDav with basic support CardDav no support

How to use



IDav serveFileDav(URLRouter router, string rootUrl, string rootPath);

to bind the fileDav handlers to a vibe router.

The next exemple will map every resource from http://localhost/files to public/files

import vibedav.filedav;


auto router = new URLRouter;
router.serveFileDav("", "public");


listenHTTP(settings, router);


Example of maping a simple cal dav folder structure:

auto router = new URLRouter;

// Do some basic auth
router.any("/calendar/*", performBasicAuth("Site Realm", toDelegate(&checkPassword)));

// Bind the public folder to a vibe router.
auto dav = router.serveFileDav("", "public");

new ACLDavPlugin(dav); // add ACL support to the DAV instance
new CalDavPlugin(dav); // create and bind the CalDav plugin to the DAV instance
new SyncDavPlugin(dav); // create and bind the sync plugin to the DAV instance


listenHTTP(settings, router);

Future development

  • CardDav support
  • Move the logic from the DAV class to other plugins
  • Improve XML support (eg: change xml node format from "name:DAV:" to "{DAV:}name")
  • Add DB support
  • Add migration tools from
  • Maybe update the @ResourceProperty... Structs to something more general like @ResourceProperty!"<tag>%value</tag>"()
  • Szabo Bogdan
0.4.8 2016-Sep-24
0.4.7 2016-Mar-05
0.4.6 2015-Aug-21
0.4.5 2015-Aug-21
0.4.4 2015-Aug-21
Show all 14 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 303 downloads total

Short URL: