Kaydet (Commit) 2f73ff06 authored tarafından Kurt Zenker's avatar Kurt Zenker

INTEGRATION: CWS updatefeed (1.21.22); FILE MERGED

2006/12/04 16:54:47 kso 1.21.22.2: #i72055# - Added support for XWebDAVCommandEnvironment.
2006/11/29 13:03:02 kso 1.21.22.1: #i72055# - cleanup.
üst 87a0e7be
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
* *
* $RCSfile: DAVResourceAccess.cxx,v $ * $RCSfile: DAVResourceAccess.cxx,v $
* *
* $Revision: 1.21 $ * $Revision: 1.22 $
* *
* last change: $Author: obo $ $Date: 2006-09-17 14:04:27 $ * last change: $Author: kz $ $Date: 2006-12-13 15:04:02 $
* *
* The Contents of this file are made available subject to * The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1. * the terms of GNU Lesser General Public License Version 2.1.
...@@ -36,30 +36,19 @@ ...@@ -36,30 +36,19 @@
// MARKER(update_precomp.py): autogen include statement, do not remove // MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_ucb.hxx" #include "precompiled_ucb.hxx"
#ifndef _OSL_DIAGNOSE_H_ #include "osl/diagnose.h"
#include <osl/diagnose.h>
#endif
#ifndef _COM_SUN_STAR_TASK_XINTERACTIONABORT_HPP_ #include "com/sun/star/task/XInteractionAbort.hpp"
#include <com/sun/star/task/XInteractionAbort.hpp> #include "com/sun/star/ucb/XWebDAVCommandEnvironment.hpp"
#endif
#ifndef _UCBHELPER_SIMPLEAUTHENTICATIONREQUEST_HXX #include "ucbhelper/simpleauthenticationrequest.hxx"
#include <ucbhelper/simpleauthenticationrequest.hxx>
#endif
#ifndef _DAVAUTHLISTENERIMPL_HXX_
#include "DAVAuthListenerImpl.hxx" #include "DAVAuthListenerImpl.hxx"
#endif
#ifndef _DAVRESOURCEACCESS_HXX_
#include "DAVResourceAccess.hxx" #include "DAVResourceAccess.hxx"
#endif
using namespace webdav_ucp; using namespace webdav_ucp;
using namespace com::sun::star; using namespace com::sun::star;
//========================================================================= //=========================================================================
//========================================================================= //=========================================================================
// //
...@@ -173,9 +162,9 @@ DAVResourceAccess & DAVResourceAccess::operator=( ...@@ -173,9 +162,9 @@ DAVResourceAccess & DAVResourceAccess::operator=(
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::OPTIONS( DAVCapabilities & rCapabilities, void DAVResourceAccess::OPTIONS(
const uno::Reference< DAVCapabilities & rCapabilities,
ucb::XCommandEnvironment > & xEnv ) const uno::Reference< ucb::XCommandEnvironment > & xEnv )
throw( DAVException ) throw( DAVException )
{ {
initialize(); initialize();
...@@ -186,11 +175,19 @@ void DAVResourceAccess::OPTIONS( DAVCapabilities & rCapabilities, ...@@ -186,11 +175,19 @@ void DAVResourceAccess::OPTIONS( DAVCapabilities & rCapabilities,
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii(
"OPTIONS" ),
aHeaders );
m_xSession->OPTIONS( getRequestURI(), m_xSession->OPTIONS( getRequestURI(),
rCapabilities, rCapabilities,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -203,11 +200,11 @@ void DAVResourceAccess::OPTIONS( DAVCapabilities & rCapabilities, ...@@ -203,11 +200,11 @@ void DAVResourceAccess::OPTIONS( DAVCapabilities & rCapabilities,
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::PROPFIND( const Depth nDepth, void DAVResourceAccess::PROPFIND(
const Depth nDepth,
const std::vector< rtl::OUString > & rPropertyNames, const std::vector< rtl::OUString > & rPropertyNames,
std::vector< DAVResource > & rResources, std::vector< DAVResource > & rResources,
const uno::Reference< const uno::Reference< ucb::XCommandEnvironment > & xEnv )
ucb::XCommandEnvironment > & xEnv )
throw( DAVException ) throw( DAVException )
{ {
initialize(); initialize();
...@@ -218,13 +215,21 @@ void DAVResourceAccess::PROPFIND( const Depth nDepth, ...@@ -218,13 +215,21 @@ void DAVResourceAccess::PROPFIND( const Depth nDepth,
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii(
"PROPFIND" ),
aHeaders );
m_xSession->PROPFIND( getRequestURI(), m_xSession->PROPFIND( getRequestURI(),
nDepth, nDepth,
rPropertyNames, rPropertyNames,
rResources, rResources,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -237,10 +242,10 @@ void DAVResourceAccess::PROPFIND( const Depth nDepth, ...@@ -237,10 +242,10 @@ void DAVResourceAccess::PROPFIND( const Depth nDepth,
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::PROPFIND( const Depth nDepth, void DAVResourceAccess::PROPFIND(
const Depth nDepth,
std::vector< DAVResourceInfo > & rResInfo, std::vector< DAVResourceInfo > & rResInfo,
const uno::Reference< const uno::Reference< ucb::XCommandEnvironment > & xEnv )
ucb::XCommandEnvironment > & xEnv )
throw( DAVException ) throw( DAVException )
{ {
initialize(); initialize();
...@@ -251,12 +256,20 @@ void DAVResourceAccess::PROPFIND( const Depth nDepth, ...@@ -251,12 +256,20 @@ void DAVResourceAccess::PROPFIND( const Depth nDepth,
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii(
"PROPFIND" ),
aHeaders );
m_xSession->PROPFIND( getRequestURI(), m_xSession->PROPFIND( getRequestURI(),
nDepth, nDepth,
rResInfo, rResInfo,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ) ; new DAVAuthListener_Impl( xEnv ),
aHeaders ) ) ;
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -269,9 +282,9 @@ void DAVResourceAccess::PROPFIND( const Depth nDepth, ...@@ -269,9 +282,9 @@ void DAVResourceAccess::PROPFIND( const Depth nDepth,
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::PROPPATCH( const std::vector< ProppatchValue >& rValues, void DAVResourceAccess::PROPPATCH(
const uno::Reference< const std::vector< ProppatchValue >& rValues,
ucb::XCommandEnvironment >& xEnv ) const uno::Reference< ucb::XCommandEnvironment >& xEnv )
throw( DAVException ) throw( DAVException )
{ {
initialize(); initialize();
...@@ -282,11 +295,19 @@ void DAVResourceAccess::PROPPATCH( const std::vector< ProppatchValue >& rValues, ...@@ -282,11 +295,19 @@ void DAVResourceAccess::PROPPATCH( const std::vector< ProppatchValue >& rValues,
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii(
"PROPPATCH" ),
aHeaders );
m_xSession->PROPPATCH( getRequestURI(), m_xSession->PROPPATCH( getRequestURI(),
rValues, rValues,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -299,10 +320,10 @@ void DAVResourceAccess::PROPPATCH( const std::vector< ProppatchValue >& rValues, ...@@ -299,10 +320,10 @@ void DAVResourceAccess::PROPPATCH( const std::vector< ProppatchValue >& rValues,
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::HEAD( const std::vector< rtl::OUString > & rHeaderNames, void DAVResourceAccess::HEAD(
const std::vector< rtl::OUString > & rHeaderNames,
DAVResource & rResource, DAVResource & rResource,
const uno::Reference< const uno::Reference< ucb::XCommandEnvironment >& xEnv )
ucb::XCommandEnvironment >& xEnv )
throw( DAVException ) throw( DAVException )
{ {
initialize(); initialize();
...@@ -313,12 +334,20 @@ void DAVResourceAccess::HEAD( const std::vector< rtl::OUString > & rHeaderNames, ...@@ -313,12 +334,20 @@ void DAVResourceAccess::HEAD( const std::vector< rtl::OUString > & rHeaderNames,
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii( "HEAD" ),
aHeaders );
m_xSession->HEAD( getRequestURI(), m_xSession->HEAD( getRequestURI(),
rHeaderNames, rHeaderNames,
rResource, rResource,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -344,10 +373,17 @@ uno::Reference< io::XInputStream > DAVResourceAccess::GET( ...@@ -344,10 +373,17 @@ uno::Reference< io::XInputStream > DAVResourceAccess::GET(
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii( "GET" ),
aHeaders );
xStream = m_xSession->GET( getRequestURI(), xStream = m_xSession->GET( getRequestURI(),
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -362,9 +398,9 @@ uno::Reference< io::XInputStream > DAVResourceAccess::GET( ...@@ -362,9 +398,9 @@ uno::Reference< io::XInputStream > DAVResourceAccess::GET(
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::GET( uno::Reference< io::XOutputStream > & rStream, void DAVResourceAccess::GET(
const uno::Reference< uno::Reference< io::XOutputStream > & rStream,
ucb::XCommandEnvironment > & xEnv ) const uno::Reference< ucb::XCommandEnvironment > & xEnv )
throw( DAVException ) throw( DAVException )
{ {
initialize(); initialize();
...@@ -375,11 +411,18 @@ void DAVResourceAccess::GET( uno::Reference< io::XOutputStream > & rStream, ...@@ -375,11 +411,18 @@ void DAVResourceAccess::GET( uno::Reference< io::XOutputStream > & rStream,
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii( "GET" ),
aHeaders );
m_xSession->GET( getRequestURI(), m_xSession->GET( getRequestURI(),
rStream, rStream,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -407,12 +450,19 @@ uno::Reference< io::XInputStream > DAVResourceAccess::GET( ...@@ -407,12 +450,19 @@ uno::Reference< io::XInputStream > DAVResourceAccess::GET(
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii( "GET" ),
aHeaders );
xStream = m_xSession->GET( getRequestURI(), xStream = m_xSession->GET( getRequestURI(),
rHeaderNames, rHeaderNames,
rResource, rResource,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -442,13 +492,20 @@ void DAVResourceAccess::GET( ...@@ -442,13 +492,20 @@ void DAVResourceAccess::GET(
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii( "GET" ),
aHeaders );
m_xSession->GET( getRequestURI(), m_xSession->GET( getRequestURI(),
rStream, rStream,
rHeaderNames, rHeaderNames,
rResource, rResource,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -461,9 +518,9 @@ void DAVResourceAccess::GET( ...@@ -461,9 +518,9 @@ void DAVResourceAccess::GET(
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::PUT( const uno::Reference< io::XInputStream > & rStream, void DAVResourceAccess::PUT(
const uno::Reference< const uno::Reference< io::XInputStream > & rStream,
ucb::XCommandEnvironment > & xEnv ) const uno::Reference< ucb::XCommandEnvironment > & xEnv )
throw( DAVException ) throw( DAVException )
{ {
initialize(); initialize();
...@@ -474,11 +531,18 @@ void DAVResourceAccess::PUT( const uno::Reference< io::XInputStream > & rStream, ...@@ -474,11 +531,18 @@ void DAVResourceAccess::PUT( const uno::Reference< io::XInputStream > & rStream,
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii( "PUT" ),
aHeaders );
m_xSession->PUT( getRequestURI(), m_xSession->PUT( getRequestURI(),
rStream, rStream,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -491,7 +555,8 @@ void DAVResourceAccess::PUT( const uno::Reference< io::XInputStream > & rStream, ...@@ -491,7 +555,8 @@ void DAVResourceAccess::PUT( const uno::Reference< io::XInputStream > & rStream,
} }
//========================================================================= //=========================================================================
uno::Reference< io::XInputStream > DAVResourceAccess::POST( uno::Reference<
io::XInputStream > DAVResourceAccess::POST(
const rtl::OUString & rContentType, const rtl::OUString & rContentType,
const rtl::OUString & rReferer, const rtl::OUString & rReferer,
const uno::Reference< io::XInputStream > & rInputStream, const uno::Reference< io::XInputStream > & rInputStream,
...@@ -507,13 +572,20 @@ uno::Reference< io::XInputStream > DAVResourceAccess::POST( ...@@ -507,13 +572,20 @@ uno::Reference< io::XInputStream > DAVResourceAccess::POST(
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii( "POST" ),
aHeaders );
xStream = m_xSession->POST( getRequestURI(), xStream = m_xSession->POST( getRequestURI(),
rContentType, rContentType,
rReferer, rReferer,
rInputStream, rInputStream,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -545,6 +617,12 @@ void DAVResourceAccess::POST( ...@@ -545,6 +617,12 @@ void DAVResourceAccess::POST(
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii( "POST" ),
aHeaders );
m_xSession->POST( getRequestURI(), m_xSession->POST( getRequestURI(),
rContentType, rContentType,
rReferer, rReferer,
...@@ -552,7 +630,8 @@ void DAVResourceAccess::POST( ...@@ -552,7 +630,8 @@ void DAVResourceAccess::POST(
rOutputStream, rOutputStream,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -565,8 +644,8 @@ void DAVResourceAccess::POST( ...@@ -565,8 +644,8 @@ void DAVResourceAccess::POST(
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::MKCOL( const uno::Reference< void DAVResourceAccess::MKCOL(
ucb::XCommandEnvironment > & xEnv ) const uno::Reference< ucb::XCommandEnvironment > & xEnv )
throw( DAVException ) throw( DAVException )
{ {
initialize(); initialize();
...@@ -577,10 +656,17 @@ void DAVResourceAccess::MKCOL( const uno::Reference< ...@@ -577,10 +656,17 @@ void DAVResourceAccess::MKCOL( const uno::Reference<
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii( "MKCOL" ),
aHeaders );
m_xSession->MKCOL( getRequestURI(), m_xSession->MKCOL( getRequestURI(),
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -593,11 +679,11 @@ void DAVResourceAccess::MKCOL( const uno::Reference< ...@@ -593,11 +679,11 @@ void DAVResourceAccess::MKCOL( const uno::Reference<
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::COPY( const ::rtl::OUString & rSourcePath, void DAVResourceAccess::COPY(
const ::rtl::OUString & rSourcePath,
const ::rtl::OUString & rDestinationURI, const ::rtl::OUString & rDestinationURI,
sal_Bool bOverwrite, sal_Bool bOverwrite,
const uno::Reference< const uno::Reference< ucb::XCommandEnvironment > & xEnv )
ucb::XCommandEnvironment > & xEnv )
throw( DAVException ) throw( DAVException )
{ {
initialize(); initialize();
...@@ -608,11 +694,18 @@ void DAVResourceAccess::COPY( const ::rtl::OUString & rSourcePath, ...@@ -608,11 +694,18 @@ void DAVResourceAccess::COPY( const ::rtl::OUString & rSourcePath,
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii( "COPY" ),
aHeaders );
m_xSession->COPY( rSourcePath, m_xSession->COPY( rSourcePath,
rDestinationURI, rDestinationURI,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ), new DAVAuthListener_Impl( xEnv ),
aHeaders ),
bOverwrite ); bOverwrite );
} }
catch ( DAVException & e ) catch ( DAVException & e )
...@@ -626,11 +719,11 @@ void DAVResourceAccess::COPY( const ::rtl::OUString & rSourcePath, ...@@ -626,11 +719,11 @@ void DAVResourceAccess::COPY( const ::rtl::OUString & rSourcePath,
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::MOVE( const ::rtl::OUString & rSourcePath, void DAVResourceAccess::MOVE(
const ::rtl::OUString & rSourcePath,
const ::rtl::OUString & rDestinationURI, const ::rtl::OUString & rDestinationURI,
sal_Bool bOverwrite, sal_Bool bOverwrite,
const uno::Reference< const uno::Reference< ucb::XCommandEnvironment > & xEnv )
ucb::XCommandEnvironment > & xEnv )
throw( DAVException ) throw( DAVException )
{ {
initialize(); initialize();
...@@ -641,11 +734,18 @@ void DAVResourceAccess::MOVE( const ::rtl::OUString & rSourcePath, ...@@ -641,11 +734,18 @@ void DAVResourceAccess::MOVE( const ::rtl::OUString & rSourcePath,
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii( "MOVE" ),
aHeaders );
m_xSession->MOVE( rSourcePath, m_xSession->MOVE( rSourcePath,
rDestinationURI, rDestinationURI,
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ), new DAVAuthListener_Impl( xEnv ),
aHeaders ),
bOverwrite ); bOverwrite );
} }
catch ( DAVException & e ) catch ( DAVException & e )
...@@ -659,7 +759,8 @@ void DAVResourceAccess::MOVE( const ::rtl::OUString & rSourcePath, ...@@ -659,7 +759,8 @@ void DAVResourceAccess::MOVE( const ::rtl::OUString & rSourcePath,
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::DESTROY( const uno::Reference< void DAVResourceAccess::DESTROY(
const uno::Reference<
ucb::XCommandEnvironment > & xEnv ) ucb::XCommandEnvironment > & xEnv )
throw( DAVException ) throw( DAVException )
{ {
...@@ -671,10 +772,18 @@ void DAVResourceAccess::DESTROY( const uno::Reference< ...@@ -671,10 +772,18 @@ void DAVResourceAccess::DESTROY( const uno::Reference<
bRetry = sal_False; bRetry = sal_False;
try try
{ {
DAVRequestHeaders aHeaders;
getUserRequestHeaders( xEnv,
getRequestURI(),
rtl::OUString::createFromAscii(
"DESTROY" ),
aHeaders );
m_xSession->DESTROY( getRequestURI(), m_xSession->DESTROY( getRequestURI(),
DAVRequestEnvironment( DAVRequestEnvironment(
getRequestURI(), getRequestURI(),
new DAVAuthListener_Impl( xEnv ) ) ); new DAVAuthListener_Impl( xEnv ),
aHeaders ) );
} }
catch ( DAVException & e ) catch ( DAVException & e )
{ {
...@@ -687,9 +796,9 @@ void DAVResourceAccess::DESTROY( const uno::Reference< ...@@ -687,9 +796,9 @@ void DAVResourceAccess::DESTROY( const uno::Reference<
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::LOCK ( const ucb::Lock & /*rLock*/, void DAVResourceAccess::LOCK (
const uno::Reference< const ucb::Lock & /*rLock*/,
ucb::XCommandEnvironment > & /*xEnv*/ ) const uno::Reference< ucb::XCommandEnvironment > & /*xEnv*/ )
throw( DAVException ) throw( DAVException )
{ {
// initialize(); // initialize();
...@@ -697,9 +806,9 @@ void DAVResourceAccess::LOCK ( const ucb::Lock & /*rLock*/, ...@@ -697,9 +806,9 @@ void DAVResourceAccess::LOCK ( const ucb::Lock & /*rLock*/,
} }
//========================================================================= //=========================================================================
void DAVResourceAccess::UNLOCK ( const ucb::Lock & /*rLock*/, void DAVResourceAccess::UNLOCK (
const uno::Reference< const ucb::Lock & /*rLock*/,
ucb::XCommandEnvironment > & /*xEnv*/ ) const uno::Reference< ucb::XCommandEnvironment > & /*xEnv*/ )
throw( DAVException ) throw( DAVException )
{ {
// initialize(); // initialize();
...@@ -764,6 +873,37 @@ const rtl::OUString & DAVResourceAccess::getRequestURI() const ...@@ -764,6 +873,37 @@ const rtl::OUString & DAVResourceAccess::getRequestURI() const
return m_aPath; return m_aPath;
} }
//=========================================================================
// static
void DAVResourceAccess::getUserRequestHeaders(
const uno::Reference< ucb::XCommandEnvironment > & xEnv,
const rtl::OUString & rURI,
const rtl::OUString & rMethod,
DAVRequestHeaders & rRequestHeaders )
{
if ( xEnv.is() )
{
uno::Reference< ucb::XWebDAVCommandEnvironment > xDAVEnv(
xEnv, uno::UNO_QUERY );
if ( xDAVEnv.is() )
{
uno::Sequence< beans::NamedValue > aRequestHeaders
= xDAVEnv->getUserRequestHeaders( rURI, rMethod );
for ( sal_Int32 n = 0; n < aRequestHeaders.getLength(); ++n )
{
rtl::OUString aValue;
OSL_ENSURE( aRequestHeaders[ n ].Value >>= aValue,
"DAVResourceAccess::getUserRequestHeaders :"
"Value is not a string! Ignoring..." );
rRequestHeaders.push_back( DAVRequestHeader(
aRequestHeaders[ n ].Name,
aValue ) );
}
}
}
}
//========================================================================= //=========================================================================
sal_Bool DAVResourceAccess::detectRedirectCycle( sal_Bool DAVResourceAccess::detectRedirectCycle(
const rtl::OUString& rRedirectURL ) const rtl::OUString& rRedirectURL )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment