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.