ucb/source/ucp/webdav-curl/DAVResourceAccess.cxx | 37 +++++++++++++++++++++++ ucb/source/ucp/webdav-curl/DAVResourceAccess.hxx | 5 +++ 2 files changed, 42 insertions(+)
New commits: commit 59ed56fd299a0ef5e67aaba4c704262481355f43 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Fri Oct 8 18:43:17 2021 +0200 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Mon Nov 1 18:32:23 2021 +0100 ucb: webdav-curl: implement DAVResourceAccess::OPTIONS() This is just a copy of DAVResourceAccess::PROPFIND() and trivially adapting 4 lines to call DAVSession::OPTIONS() with required arguments. Change-Id: If2ac8e4a465d0f09b7cf02647ac4c8e4860c45b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123284 Tested-by: Michael Stahl <michael.st...@allotropia.de> Reviewed-by: Michael Stahl <michael.st...@allotropia.de> diff --git a/ucb/source/ucp/webdav-curl/DAVResourceAccess.cxx b/ucb/source/ucp/webdav-curl/DAVResourceAccess.cxx index 7a2aa2b7e590..8787250c98f6 100644 --- a/ucb/source/ucp/webdav-curl/DAVResourceAccess.cxx +++ b/ucb/source/ucp/webdav-curl/DAVResourceAccess.cxx @@ -159,6 +159,43 @@ DAVResourceAccess & DAVResourceAccess::operator=( return *this; } +void DAVResourceAccess::OPTIONS( + DAVOptions & rOptions, + const uno::Reference< ucb::XCommandEnvironment > & xEnv ) +{ + initialize(); + + int errorCount = 0; + bool bRetry; + do + { + bRetry = false; + try + { + DAVRequestHeaders aHeaders; + + getUserRequestHeaders( xEnv, + getRequestURI(), + ucb::WebDAVHTTPMethod_OPTIONS, + aHeaders ); + + m_xSession->OPTIONS( getRequestURI(), + rOptions, + DAVRequestEnvironment( + getRequestURI(), + new DAVAuthListener_Impl( xEnv, m_aURL ), + aHeaders, xEnv ) ); + } + catch (DAVException const& e) + { + errorCount++; + bRetry = handleException( e, errorCount ); + if ( !bRetry ) + throw; + } + } + while ( bRetry ); +} void DAVResourceAccess::PROPFIND( const Depth nDepth, diff --git a/ucb/source/ucp/webdav-curl/DAVResourceAccess.hxx b/ucb/source/ucp/webdav-curl/DAVResourceAccess.hxx index 1fce8d1377dd..86a392e23cf1 100644 --- a/ucb/source/ucp/webdav-curl/DAVResourceAccess.hxx +++ b/ucb/source/ucp/webdav-curl/DAVResourceAccess.hxx @@ -77,6 +77,11 @@ public: // DAV methods + /// @throws DAVException + void + OPTIONS( + DAVOptions & rOptions, + const css::uno::Reference< css::ucb::XCommandEnvironment > & xEnv ); // allprop & named /// @throws DAVException