NAME

HTTP::DAV::Browse - browse the WebDAV tree

SYNOPSIS

my $browser = HTTP::DAV::Browse->new('base_uri' => $url);
my %lsd = $browser->ls_detailed('/');
my @files = $browser->ls('/');

DESCRIPTION

For the moment HTTP::DAV::Browse allows to list WebDAV folders and gather detailed information (properties) about the files inside.

Can be used on Subversion WebDAV repositories.

NOTE: for our https+password protected Subversion repository, I hat to set all username+password+realm to make it work and not complain that the requests are not authenticated.

PROPERTIES

base_uri
username
password
realm

METHODS

new()

Object constructor. Requires 'base_uri' argument.

ls($path)

For given $path (that is prepended by <$self-base_uri>>) returns array of files.

Throws exception for non existing paths.

ls_detailed($path)

For given $path (that is prepended by <$self-base_uri>>) returns array of hashes with file details. Example:

 {
    'baseline-relative-path' => 'trunk/SVGraph',
    'version-name' => '69',
    'version-controlled-configuration' => '<D:href>/svgraph/!svn/vcc/default</D:href>',
    'creationdate' => 'Mon, 19 Nov 2007 08:01:47 GMT',
    'short_ls' => 'Listing of http://svn.comsultia.com/svgraph/trunk/SVGraph/
',
    'getlastmodified' => 'Mon, 19 Nov 2007 08:01:47 GMT',
    'lastmodifiedepoch' => 1195459307,
    'short_props' => '<dir>',
    'getcontenttype' => 'text/html; charset=UTF-8',
    'checked-in' => '<D:href>/svgraph/!svn/ver/69/trunk/SVGraph</D:href>',
    'repository-uuid' => '05c03c3c-be17-0410-b9f1-b57ecf2f02e2',
    'display_date' => 'Nov 19  2007',
    'resourcetype' => 'collection',
    'creationepoch' => '1195459307.58319',
    'creator-displayname' => 'rfordinal',
    'long_ls' => 'URL: http://svn.comsultia.com/svgraph/trunk/SVGraph/
        --- stripped ---
    ',
    'getetag' => 'W/"69//trunk/SVGraph"',
    'rel_uri' => bless( do{\(my $o = 'SVGraph/')}, 'URI::http' ),
    'deadprop-count' => '0',
    'lastmodifieddate' => 'Mon, 19 Nov 2007 08:01:47 GMT'
}

Throws exception for non existing paths.

AUTHOR

Jozef Kutej, <jkutej at cpan.org>

BUGS

Please report any bugs or feature requests to bug-http-dav-browse at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=HTTP-DAV-Browse. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc HTTP::DAV::Browse

You can also look for information at:

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2009 Jozef Kutej, all rights reserved.

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