# Copyright (c) 2005 bivio Software, Inc. All Rights Reserved. # # Visit http://www.bivio.biz for more info. # # This library is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as # published by the Free Software Foundation; either version 2.1 of the # License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; If not, you may get a copy from: # http://www.opensource.org/licenses/lgpl-license.html # # $Id: DAV.pm,v 1.1 2005/12/09 19:15:04 nagler Exp $ package Bivio::Util::DAV; use strict; use base 'Bivio::ShellUtil'; use Bivio::Ext::LWPUserAgent; our($VERSION) = sprintf('%d.%02d', q$Revision: 1.1 $ =~ /\d+/g); sub USAGE { return <<'EOF'; usage: b-realm-file [options] command [args...] commands: propfind uri user [user [password]] -- returns output of dav request EOF } sub propfind { my($self, $uri, $user, $password) = @_; $password ||= 'password'; my($ua) = Bivio::Ext::LWPUserAgent->new; $ua->agent('b-dav'); my($resp) = $ua->request( HTTP::Request->new( PROPFIND => $uri => [ Depth => 0, Translate => 'f', $user ? (Authorization => "Basic " . MIME::Base64::encode("$user:$password")) : (), ], )); return $resp->as_string; } 1;