Net::DAV::Server - Provide a DAV Server


  my $filesys = Filesys::Virtual::Plain->new({root_path => $cwd});
  my $webdav = Net::DAV::Server->new();

  my $d = HTTP::Daemon->new(
    LocalAddr => 'localhost',
    LocalPort => 4242,
    ReuseAddr => 1) || die;
  print "Please contact me at: ", $d->url, "\n";
  while (my $c = $d->accept) {
    while (my $request = $c->get_request) {
      my $response = $webdav->run($request);
      $c->send_response ($response);


This module provides a WebDAV server. WebDAV stands for "Web-based Distributed Authoring and Versioning". It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers.

Net::DAV::Server provides a WebDAV server and exports a filesystem for you using the Filesys::Virtual suite of modules. If you simply want to export a local filesystem, use Filesys::Virtual::Plain as above.

This module doesn't currently provide a full WebDAV implementation. However, I am working through the WebDAV server protocol compliance test suite (litmus, see and will provide more compliance in future. The important thing is that it supports cadaver and the Mac OS X Finder as clients.


Leon Brocard <>


  Bron Gondwana <> ( current maintainer )
  Leon Brocard <>     ( original author )

The latest copy of this package can be checked out using Subversion from

Development code at


Copyright (C) 2004, Leon Brocard

This module is free software; you can redistribute it or modify it under the same terms as Perl itself.