The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.