NAME

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

SYNOPSIS

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

      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);
        }
        $c->close;
        undef($c);
      }

DESCRIPTION

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 http://www.webdav.org/neon/litmus/) and will provide more compliance in future. The important thing is that it supports cadaver and the Mac OS X Finder as clients.

AUTHOR

Leon Brocard <acme@astray.com>

COPYRIGHT

Copyright (C) 2004, Leon Brocard

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