diff options
author | Oliver-Rainer Wittmann <orw@apache.org> | 2012-03-14 11:24:27 +0000 |
---|---|---|
committer | Oliver-Rainer Wittmann <orw@apache.org> | 2012-03-14 11:24:27 +0000 |
commit | 26c0a2815790620f400ecfbaffe2edf84d0938ec (patch) | |
tree | 3c4069d9aaac463439cbe2ca62d1589313d8cf01 /ucb | |
parent | bb76465c3a91f99ac392379d1df76e2edf72dde0 (diff) |
119063 - correct serf integration
-- apply request headers provided by corresponding caller to the HTTP/WebDAV request
needed for our update service
Diffstat (limited to 'ucb')
26 files changed, 199 insertions, 90 deletions
diff --git a/ucb/source/ucp/webdav/DAVRequestEnvironment.hxx b/ucb/source/ucp/webdav/DAVRequestEnvironment.hxx index a394dec9766c..fc03256b4710 100644 --- a/ucb/source/ucp/webdav/DAVRequestEnvironment.hxx +++ b/ucb/source/ucp/webdav/DAVRequestEnvironment.hxx @@ -25,7 +25,7 @@ #include <vector> #include <rtl/ref.hxx> -#include "DAVAuthListener.hxx" +#include <DAVAuthListener.hxx> namespace http_dav_ucp { @@ -39,12 +39,12 @@ struct DAVRequestEnvironment // rtl::Reference< DAVStatusListener > m_xStatusListener; // rtl::Reference< DAVProgressListener > m_xStatusListener; DAVRequestHeaders m_aRequestHeaders; - uno::Reference< ucb::XCommandEnvironment > m_xEnv; + com::sun::star::uno::Reference< com::sun::star::ucb::XCommandEnvironment > m_xEnv; DAVRequestEnvironment( const rtl::OUString & rRequestURI, - const rtl::Reference< DAVAuthListener > & xListener, - const DAVRequestHeaders & rRequestHeaders, - const uno::Reference< ucb::XCommandEnvironment > & xEnv) + const rtl::Reference< DAVAuthListener > & xListener, + const DAVRequestHeaders & rRequestHeaders, + const com::sun::star::uno::Reference< com::sun::star::ucb::XCommandEnvironment > & xEnv) : m_aRequestURI( rRequestURI ), m_xAuthListener( xListener ), m_aRequestHeaders( rRequestHeaders ), diff --git a/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx index ec98753f6379..764df107469b 100644 --- a/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx @@ -30,9 +30,10 @@ namespace http_dav_ucp { SerfCopyReqProcImpl::SerfCopyReqProcImpl( const char* inSourcePath, + const DAVRequestHeaders& inRequestHeaders, const char* inDestinationPath, const bool inOverwrite ) - : SerfRequestProcessorImpl( inSourcePath ) + : SerfRequestProcessorImpl( inSourcePath, inRequestHeaders ) , mDestPathStr( inDestinationPath ) , mbOverwrite( inOverwrite ) { @@ -51,21 +52,20 @@ serf_bucket_t * SerfCopyReqProcImpl::createSerfRequestBucket( serf_request_t * i 0, serf_request_get_alloc( inSerfRequest ) ); - // TODO - correct headers // set request header fields serf_bucket_t* hdrs_bkt = serf_bucket_request_get_headers( req_bkt ); - serf_bucket_headers_setn( hdrs_bkt, "User-Agent", "www.openoffice.org/ucb/" ); - serf_bucket_headers_setn( hdrs_bkt, "Accept-Encoding", "gzip"); + // general header fields provided by caller + setRequestHeaders( hdrs_bkt ); // COPY specific header fields - serf_bucket_headers_setn( hdrs_bkt, "Destination", mDestPathStr ); + serf_bucket_headers_set( hdrs_bkt, "Destination", mDestPathStr ); if ( mbOverwrite ) { - serf_bucket_headers_setn( hdrs_bkt, "Overwrite", "T" ); + serf_bucket_headers_set( hdrs_bkt, "Overwrite", "T" ); } else { - serf_bucket_headers_setn( hdrs_bkt, "Overwrite", "F" ); + serf_bucket_headers_set( hdrs_bkt, "Overwrite", "F" ); } return req_bkt; diff --git a/ucb/source/ucp/webdav/SerfCopyReqProcImpl.hxx b/ucb/source/ucp/webdav/SerfCopyReqProcImpl.hxx index f680829cc9f6..8b0909af3533 100644 --- a/ucb/source/ucp/webdav/SerfCopyReqProcImpl.hxx +++ b/ucb/source/ucp/webdav/SerfCopyReqProcImpl.hxx @@ -31,6 +31,7 @@ class SerfCopyReqProcImpl : public SerfRequestProcessorImpl { public: SerfCopyReqProcImpl( const char* inSourcePath, + const DAVRequestHeaders& inRequestHeaders, const char* inDestinationPath, const bool inOverwrite ); diff --git a/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx index e049838ca21e..8d231c385760 100644 --- a/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx @@ -29,8 +29,9 @@ namespace http_dav_ucp { -SerfDeleteReqProcImpl::SerfDeleteReqProcImpl( const char* inPath ) - : SerfRequestProcessorImpl( inPath ) +SerfDeleteReqProcImpl::SerfDeleteReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) { } @@ -47,11 +48,10 @@ serf_bucket_t * SerfDeleteReqProcImpl::createSerfRequestBucket( serf_request_t * 0, serf_request_get_alloc( inSerfRequest ) ); - // TODO - correct headers // set request header fields serf_bucket_t* hdrs_bkt = serf_bucket_request_get_headers( req_bkt ); - serf_bucket_headers_setn( hdrs_bkt, "User-Agent", "www.openoffice.org/ucb/" ); - serf_bucket_headers_setn( hdrs_bkt, "Accept-Encoding", "gzip"); + // general header fields provided by caller + setRequestHeaders( hdrs_bkt ); return req_bkt; } diff --git a/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.hxx b/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.hxx index 7cf22b1ff55b..e6b2d7acdd3e 100644 --- a/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.hxx +++ b/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.hxx @@ -30,7 +30,8 @@ namespace http_dav_ucp class SerfDeleteReqProcImpl : public SerfRequestProcessorImpl { public: - SerfDeleteReqProcImpl( const char* inPath ); + SerfDeleteReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders ); virtual ~SerfDeleteReqProcImpl(); diff --git a/ucb/source/ucp/webdav/SerfGetReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfGetReqProcImpl.cxx index f53c24c9517a..bf23acfe13be 100644 --- a/ucb/source/ucp/webdav/SerfGetReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfGetReqProcImpl.cxx @@ -30,8 +30,9 @@ namespace http_dav_ucp { SerfGetReqProcImpl::SerfGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< SerfInputStream > & xioInStrm ) - : SerfRequestProcessorImpl( inPath ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) , xInputStream( xioInStrm ) , xOutputStream() , mpHeaderNames( 0 ) @@ -40,10 +41,11 @@ SerfGetReqProcImpl::SerfGetReqProcImpl( const char* inPath, } SerfGetReqProcImpl::SerfGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< SerfInputStream > & xioInStrm, const std::vector< ::rtl::OUString > & inHeaderNames, DAVResource & ioResource ) - : SerfRequestProcessorImpl( inPath ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) , xInputStream( xioInStrm ) , xOutputStream() , mpHeaderNames( &inHeaderNames ) @@ -52,8 +54,9 @@ SerfGetReqProcImpl::SerfGetReqProcImpl( const char* inPath, } SerfGetReqProcImpl::SerfGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream > & xioOutStrm ) - : SerfRequestProcessorImpl( inPath ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) , xInputStream() , xOutputStream( xioOutStrm ) , mpHeaderNames( 0 ) @@ -62,10 +65,11 @@ SerfGetReqProcImpl::SerfGetReqProcImpl( const char* inPath, } SerfGetReqProcImpl::SerfGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream > & xioOutStrm, const std::vector< ::rtl::OUString > & inHeaderNames, DAVResource & ioResource ) - : SerfRequestProcessorImpl( inPath ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) , xInputStream() , xOutputStream( xioOutStrm ) , mpHeaderNames( &inHeaderNames ) @@ -86,11 +90,10 @@ serf_bucket_t * SerfGetReqProcImpl::createSerfRequestBucket( serf_request_t * in 0, serf_request_get_alloc( inSerfRequest ) ); - // TODO - correct headers // set request header fields serf_bucket_t* hdrs_bkt = serf_bucket_request_get_headers( req_bkt ); - serf_bucket_headers_setn( hdrs_bkt, "User-Agent", "www.openoffice.org/ucb/" ); - serf_bucket_headers_setn( hdrs_bkt, "Accept-Encoding", "gzip"); + // general header fields provided by caller + setRequestHeaders( hdrs_bkt ); return req_bkt; } diff --git a/ucb/source/ucp/webdav/SerfGetReqProcImpl.hxx b/ucb/source/ucp/webdav/SerfGetReqProcImpl.hxx index 94ecdb1c0ea1..ca1002499a3a 100644 --- a/ucb/source/ucp/webdav/SerfGetReqProcImpl.hxx +++ b/ucb/source/ucp/webdav/SerfGetReqProcImpl.hxx @@ -38,17 +38,21 @@ class SerfGetReqProcImpl : public SerfRequestProcessorImpl { public: SerfGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< SerfInputStream > & xioInStrm ); SerfGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< SerfInputStream > & xioInStrm, const std::vector< ::rtl::OUString > & inHeaderNames, DAVResource & ioResource ); SerfGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream > & xioOutStrm ); SerfGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream > & xioOutStrm, const std::vector< ::rtl::OUString > & inHeaderNames, DAVResource & ioResource ); diff --git a/ucb/source/ucp/webdav/SerfHeadReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfHeadReqProcImpl.cxx index c707a0e96a2b..3edbd8883b3c 100644 --- a/ucb/source/ucp/webdav/SerfHeadReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfHeadReqProcImpl.cxx @@ -30,9 +30,10 @@ namespace http_dav_ucp { SerfHeadReqProcImpl::SerfHeadReqProcImpl( const char* inPath, - const std::vector< ::rtl::OUString > & inHeaderNames, - DAVResource & ioResource ) - : SerfRequestProcessorImpl( inPath ) + const DAVRequestHeaders& inRequestHeaders, + const std::vector< ::rtl::OUString > & inHeaderNames, + DAVResource & ioResource ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) , mpHeaderNames( &inHeaderNames ) , mpResource( &ioResource ) { @@ -51,11 +52,10 @@ serf_bucket_t * SerfHeadReqProcImpl::createSerfRequestBucket( serf_request_t * i 0, serf_request_get_alloc( inSerfRequest ) ); - // TODO - correct headers // set request header fields serf_bucket_t* hdrs_bkt = serf_bucket_request_get_headers( req_bkt ); - serf_bucket_headers_setn( hdrs_bkt, "User-Agent", "www.openoffice.org/ucb/" ); - serf_bucket_headers_setn( hdrs_bkt, "Accept-Encoding", "gzip"); + // general header fields provided by caller + setRequestHeaders( hdrs_bkt ); return req_bkt; } diff --git a/ucb/source/ucp/webdav/SerfHeadReqProcImpl.hxx b/ucb/source/ucp/webdav/SerfHeadReqProcImpl.hxx index 154663937165..bd5aca0fb0e7 100644 --- a/ucb/source/ucp/webdav/SerfHeadReqProcImpl.hxx +++ b/ucb/source/ucp/webdav/SerfHeadReqProcImpl.hxx @@ -38,6 +38,7 @@ class SerfHeadReqProcImpl : public SerfRequestProcessorImpl { public: SerfHeadReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const std::vector< ::rtl::OUString > & inHeaderNames, DAVResource & ioResource ); diff --git a/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx index 96d42a870853..593032067300 100644 --- a/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx @@ -29,8 +29,9 @@ namespace http_dav_ucp { -SerfMkColReqProcImpl::SerfMkColReqProcImpl( const char* inPath ) - : SerfRequestProcessorImpl( inPath ) +SerfMkColReqProcImpl::SerfMkColReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders ) + : SerfRequestProcessorImpl( inPath,inRequestHeaders ) { } @@ -47,11 +48,10 @@ serf_bucket_t * SerfMkColReqProcImpl::createSerfRequestBucket( serf_request_t * 0, serf_request_get_alloc( inSerfRequest ) ); - // TODO - correct headers // set request header fields serf_bucket_t* hdrs_bkt = serf_bucket_request_get_headers( req_bkt ); - serf_bucket_headers_setn( hdrs_bkt, "User-Agent", "www.openoffice.org/ucb/" ); - serf_bucket_headers_setn( hdrs_bkt, "Accept-Encoding", "gzip"); + // general header fields provided by caller + setRequestHeaders( hdrs_bkt ); return req_bkt; } diff --git a/ucb/source/ucp/webdav/SerfMkColReqProcImpl.hxx b/ucb/source/ucp/webdav/SerfMkColReqProcImpl.hxx index 4eaa7c844976..97c0ad9b8270 100644 --- a/ucb/source/ucp/webdav/SerfMkColReqProcImpl.hxx +++ b/ucb/source/ucp/webdav/SerfMkColReqProcImpl.hxx @@ -30,7 +30,8 @@ namespace http_dav_ucp class SerfMkColReqProcImpl : public SerfRequestProcessorImpl { public: - SerfMkColReqProcImpl( const char* inPath ); + SerfMkColReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders ); virtual ~SerfMkColReqProcImpl(); diff --git a/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx index bdf5a09d61ce..d38b0ff26b28 100644 --- a/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx @@ -30,9 +30,10 @@ namespace http_dav_ucp { SerfMoveReqProcImpl::SerfMoveReqProcImpl( const char* inSourcePath, + const DAVRequestHeaders& inRequestHeaders, const char* inDestinationPath, const bool inOverwrite ) - : SerfRequestProcessorImpl( inSourcePath ) + : SerfRequestProcessorImpl( inSourcePath, inRequestHeaders ) , mDestPathStr( inDestinationPath ) , mbOverwrite( inOverwrite ) { @@ -51,21 +52,20 @@ serf_bucket_t * SerfMoveReqProcImpl::createSerfRequestBucket( serf_request_t * i 0, serf_request_get_alloc( inSerfRequest ) ); - // TODO - correct headers // set request header fields serf_bucket_t* hdrs_bkt = serf_bucket_request_get_headers( req_bkt ); - serf_bucket_headers_setn( hdrs_bkt, "User-Agent", "www.openoffice.org/ucb/" ); - serf_bucket_headers_setn( hdrs_bkt, "Accept-Encoding", "gzip"); + // general header fields provided by caller + setRequestHeaders( hdrs_bkt ); // MOVE specific header fields - serf_bucket_headers_setn( hdrs_bkt, "Destination", mDestPathStr ); + serf_bucket_headers_set( hdrs_bkt, "Destination", mDestPathStr ); if ( mbOverwrite ) { - serf_bucket_headers_setn( hdrs_bkt, "Overwrite", "T" ); + serf_bucket_headers_set( hdrs_bkt, "Overwrite", "T" ); } else { - serf_bucket_headers_setn( hdrs_bkt, "Overwrite", "F" ); + serf_bucket_headers_set( hdrs_bkt, "Overwrite", "F" ); } return req_bkt; diff --git a/ucb/source/ucp/webdav/SerfMoveReqProcImpl.hxx b/ucb/source/ucp/webdav/SerfMoveReqProcImpl.hxx index 57f23b1c9abb..d6840305bc38 100644 --- a/ucb/source/ucp/webdav/SerfMoveReqProcImpl.hxx +++ b/ucb/source/ucp/webdav/SerfMoveReqProcImpl.hxx @@ -31,6 +31,7 @@ class SerfMoveReqProcImpl : public SerfRequestProcessorImpl { public: SerfMoveReqProcImpl( const char* inSourcePath, + const DAVRequestHeaders& inRequestHeaders, const char* inDestinationPath, const bool inOverwrite ); diff --git a/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx index b249e21172ad..0625a60a3466 100644 --- a/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx @@ -32,12 +32,13 @@ namespace http_dav_ucp { SerfPostReqProcImpl::SerfPostReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen, const char* inContentType, const char* inReferer, const com::sun::star::uno::Reference< SerfInputStream > & xioInStrm ) - : SerfRequestProcessorImpl( inPath ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) , mpPostData( inData ) , mnPostDataLen( inDataLen ) , mpContentType( inContentType ) @@ -48,12 +49,13 @@ SerfPostReqProcImpl::SerfPostReqProcImpl( const char* inPath, } SerfPostReqProcImpl::SerfPostReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen, const char* inContentType, const char* inReferer, const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream > & xioOutStrm ) - : SerfRequestProcessorImpl( inPath ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) , mpPostData( inData ) , mnPostDataLen( inDataLen ) , mpContentType( inContentType ) @@ -89,29 +91,28 @@ serf_bucket_t * SerfPostReqProcImpl::createSerfRequestBucket( serf_request_t * i body_bkt, serf_request_get_alloc( inSerfRequest ) ); - // TODO - correct headers // set request header fields serf_bucket_t* hdrs_bkt = serf_bucket_request_get_headers( req_bkt ); - serf_bucket_headers_setn( hdrs_bkt, "User-Agent", "www.openoffice.org/ucb/" ); - serf_bucket_headers_setn( hdrs_bkt, "Accept-Encoding", "gzip"); + // general header fields provided by caller + setRequestHeaders( hdrs_bkt ); // request specific header fields if ( body_bkt != 0 ) { if ( useChunkedEncoding() ) { - serf_bucket_headers_setn( hdrs_bkt, "Transfer-Encoding", "chunked"); + serf_bucket_headers_set( hdrs_bkt, "Transfer-Encoding", "chunked"); } - serf_bucket_headers_setn( hdrs_bkt, "Content-Length", - rtl::OUStringToOString( rtl::OUString::valueOf( (sal_Int32)mnPostDataLen ), RTL_TEXTENCODING_UTF8 ) ); + serf_bucket_headers_set( hdrs_bkt, "Content-Length", + rtl::OUStringToOString( rtl::OUString::valueOf( (sal_Int32)mnPostDataLen ), RTL_TEXTENCODING_UTF8 ) ); } if ( mpContentType != 0 ) { - serf_bucket_headers_setn( hdrs_bkt, "Content-Type", mpContentType ); + serf_bucket_headers_set( hdrs_bkt, "Content-Type", mpContentType ); } if ( mpReferer != 0 ) { - serf_bucket_headers_setn( hdrs_bkt, "Referer", mpReferer ); + serf_bucket_headers_set( hdrs_bkt, "Referer", mpReferer ); } return req_bkt; diff --git a/ucb/source/ucp/webdav/SerfPostReqProcImpl.hxx b/ucb/source/ucp/webdav/SerfPostReqProcImpl.hxx index ff1755f31689..c3faac5c3646 100644 --- a/ucb/source/ucp/webdav/SerfPostReqProcImpl.hxx +++ b/ucb/source/ucp/webdav/SerfPostReqProcImpl.hxx @@ -34,6 +34,7 @@ class SerfPostReqProcImpl : public SerfRequestProcessorImpl { public: SerfPostReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen, const char* inContentType, @@ -41,6 +42,7 @@ public: const com::sun::star::uno::Reference< SerfInputStream > & xioInStrm ); SerfPostReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen, const char* inContentType, diff --git a/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.cxx index 63d06a34c7e8..128c551f8f43 100644 --- a/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.cxx @@ -35,10 +35,11 @@ namespace http_dav_ucp { SerfPropFindReqProcImpl::SerfPropFindReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const Depth inDepth, const std::vector< ::rtl::OUString > & inPropNames, std::vector< DAVResource > & ioResources ) - : SerfRequestProcessorImpl( inPath ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) , mDepthStr( 0 ) , mpPropNames( &inPropNames ) , mpResources( &ioResources ) @@ -50,9 +51,10 @@ SerfPropFindReqProcImpl::SerfPropFindReqProcImpl( const char* inPath, } SerfPropFindReqProcImpl::SerfPropFindReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const Depth inDepth, std::vector< DAVResourceInfo > & ioResInfo ) - : SerfRequestProcessorImpl( inPath ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) , mDepthStr( 0 ) , mpPropNames( 0 ) , mpResources( 0 ) @@ -149,24 +151,22 @@ serf_bucket_t * SerfPropFindReqProcImpl::createSerfRequestBucket( serf_request_t body_bkt, pSerfBucketAlloc ); - // TODO - correct header data // set request header fields serf_bucket_t* hdrs_bkt = serf_bucket_request_get_headers( req_bkt ); - serf_bucket_headers_setn( hdrs_bkt, "User-Agent", "www.openoffice.org/ucb/" ); - serf_bucket_headers_setn( hdrs_bkt, "Accept-Encoding", "gzip"); + // general header fields provided by caller + setRequestHeaders( hdrs_bkt ); // request specific header fields - // request specific header fields - serf_bucket_headers_setn( hdrs_bkt, "Depth", mDepthStr ); + serf_bucket_headers_set( hdrs_bkt, "Depth", mDepthStr ); if ( body_bkt != 0 && aBodyText.getLength() > 0 ) { if ( useChunkedEncoding() ) { - serf_bucket_headers_setn( hdrs_bkt, "Transfer-Encoding", "chunked"); + serf_bucket_headers_set( hdrs_bkt, "Transfer-Encoding", "chunked"); } - serf_bucket_headers_setn( hdrs_bkt, "Content-Type", "application/xml" ); - serf_bucket_headers_setn( hdrs_bkt, "Content-Length", - rtl::OUStringToOString( rtl::OUString::valueOf( aBodyText.getLength() ), RTL_TEXTENCODING_UTF8 ) ); + serf_bucket_headers_set( hdrs_bkt, "Content-Type", "application/xml" ); + serf_bucket_headers_set( hdrs_bkt, "Content-Length", + rtl::OUStringToOString( rtl::OUString::valueOf( aBodyText.getLength() ), RTL_TEXTENCODING_UTF8 ) ); } return req_bkt; diff --git a/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.hxx b/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.hxx index b2c898faf5c1..26e987e7267b 100644 --- a/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.hxx +++ b/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.hxx @@ -38,11 +38,13 @@ class SerfPropFindReqProcImpl : public SerfRequestProcessorImpl { public: SerfPropFindReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const Depth inDepth, const std::vector< ::rtl::OUString > & inPropNames, std::vector< DAVResource > & ioResources ); SerfPropFindReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const Depth inDepth, std::vector< DAVResourceInfo > & ioResInfo ); diff --git a/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.cxx index 116189da5f15..4f1869a3d0af 100644 --- a/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.cxx @@ -33,8 +33,9 @@ namespace http_dav_ucp { SerfPropPatchReqProcImpl::SerfPropPatchReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const std::vector< ProppatchValue > & inProperties ) - : SerfRequestProcessorImpl( inPath ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) , mpProperties( &inProperties ) { } @@ -148,22 +149,21 @@ serf_bucket_t * SerfPropPatchReqProcImpl::createSerfRequestBucket( serf_request_ body_bkt, pSerfBucketAlloc ) ; - // TODO - correct header data // set request header fields serf_bucket_t* hdrs_bkt = serf_bucket_request_get_headers( req_bkt ); - serf_bucket_headers_setn( hdrs_bkt, "User-Agent", "www.openoffice.org/ucb/" ); - serf_bucket_headers_setn( hdrs_bkt, "Accept-Encoding", "gzip"); + // general header fields provided by caller + setRequestHeaders( hdrs_bkt ); // request specific header fields if ( body_bkt != 0 && aBodyText.getLength() > 0 ) { if ( useChunkedEncoding() ) { - serf_bucket_headers_setn( hdrs_bkt, "Transfer-Encoding", "chunked"); + serf_bucket_headers_set( hdrs_bkt, "Transfer-Encoding", "chunked"); } - serf_bucket_headers_setn( hdrs_bkt, "Content-Type", "application/xml" ); - serf_bucket_headers_setn( hdrs_bkt, "Content-Length", - rtl::OUStringToOString( rtl::OUString::valueOf( aBodyText.getLength() ), RTL_TEXTENCODING_UTF8 ) ); + serf_bucket_headers_set( hdrs_bkt, "Content-Type", "application/xml" ); + serf_bucket_headers_set( hdrs_bkt, "Content-Length", + rtl::OUStringToOString( rtl::OUString::valueOf( aBodyText.getLength() ), RTL_TEXTENCODING_UTF8 ) ); } return req_bkt; diff --git a/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.hxx b/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.hxx index 95845b02a91b..c763cbe05e23 100644 --- a/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.hxx +++ b/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.hxx @@ -34,6 +34,7 @@ class SerfPropPatchReqProcImpl : public SerfRequestProcessorImpl { public: SerfPropPatchReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const std::vector< ProppatchValue > & inProperties ); virtual ~SerfPropPatchReqProcImpl(); diff --git a/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx b/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx index 9f6e233c20f5..376fcc77034f 100644 --- a/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx +++ b/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx @@ -32,9 +32,10 @@ namespace http_dav_ucp { SerfPutReqProcImpl::SerfPutReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen ) - : SerfRequestProcessorImpl( inPath ) + : SerfRequestProcessorImpl( inPath, inRequestHeaders ) , mpData( inData ) , mnDataLen( inDataLen ) { @@ -66,21 +67,20 @@ serf_bucket_t * SerfPutReqProcImpl::createSerfRequestBucket( serf_request_t * in body_bkt, serf_request_get_alloc( inSerfRequest ) ); - // TODO - correct headers // set request header fields serf_bucket_t* hdrs_bkt = serf_bucket_request_get_headers( req_bkt ); - serf_bucket_headers_setn( hdrs_bkt, "User-Agent", "www.openoffice.org/ucb/" ); - serf_bucket_headers_setn( hdrs_bkt, "Accept-Encoding", "gzip"); + // general header fields provided by caller + setRequestHeaders( hdrs_bkt ); // request specific header fields if ( body_bkt != 0 ) { if ( useChunkedEncoding() ) { - serf_bucket_headers_setn( hdrs_bkt, "Transfer-Encoding", "chunked"); + serf_bucket_headers_set( hdrs_bkt, "Transfer-Encoding", "chunked"); } - serf_bucket_headers_setn( hdrs_bkt, "Content-Length", - rtl::OUStringToOString( rtl::OUString::valueOf( (sal_Int32)mnDataLen ), RTL_TEXTENCODING_UTF8 ) ); + serf_bucket_headers_set( hdrs_bkt, "Content-Length", + rtl::OUStringToOString( rtl::OUString::valueOf( (sal_Int32)mnDataLen ), RTL_TEXTENCODING_UTF8 ) ); } diff --git a/ucb/source/ucp/webdav/SerfPutReqProcImpl.hxx b/ucb/source/ucp/webdav/SerfPutReqProcImpl.hxx index b2a4571b1afd..bf79c9cd9dd6 100644 --- a/ucb/source/ucp/webdav/SerfPutReqProcImpl.hxx +++ b/ucb/source/ucp/webdav/SerfPutReqProcImpl.hxx @@ -31,6 +31,7 @@ class SerfPutReqProcImpl : public SerfRequestProcessorImpl { public: SerfPutReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen ); diff --git a/ucb/source/ucp/webdav/SerfRequestProcessor.cxx b/ucb/source/ucp/webdav/SerfRequestProcessor.cxx index 8f7734ec9737..787a8422621f 100644 --- a/ucb/source/ucp/webdav/SerfRequestProcessor.cxx +++ b/ucb/source/ucp/webdav/SerfRequestProcessor.cxx @@ -86,6 +86,7 @@ bool SerfRequestProcessor::processPropFind( const Depth inDepth, apr_status_t& outSerfStatus ) { mpProcImpl = createPropFindReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, inDepth, inPropNames, ioResources ); @@ -100,6 +101,7 @@ bool SerfRequestProcessor::processPropFind( const Depth inDepth, apr_status_t& outSerfStatus ) { mpProcImpl = createPropFindReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, inDepth, ioResInfo ); outSerfStatus = runProcessor(); @@ -112,6 +114,7 @@ bool SerfRequestProcessor::processPropPatch( const std::vector< ProppatchValue > apr_status_t& outSerfStatus ) { mpProcImpl = createPropPatchReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, inProperties ); outSerfStatus = runProcessor(); @@ -123,6 +126,7 @@ bool SerfRequestProcessor::processGet( const com::sun::star::uno::Reference< Ser apr_status_t& outSerfStatus ) { mpProcImpl = createGetReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, xioInStrm ); outSerfStatus = runProcessor(); @@ -136,6 +140,7 @@ bool SerfRequestProcessor::processGet( const com::sun::star::uno::Reference< Ser apr_status_t& outSerfStatus ) { mpProcImpl = createGetReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, xioInStrm, inHeaderNames, ioResource ); @@ -149,6 +154,7 @@ bool SerfRequestProcessor::processGet( const com::sun::star::uno::Reference< com apr_status_t& outSerfStatus ) { mpProcImpl = createGetReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, xioOutStrm ); outSerfStatus = runProcessor(); @@ -162,6 +168,7 @@ bool SerfRequestProcessor::processGet( const com::sun::star::uno::Reference< com apr_status_t& outSerfStatus ) { mpProcImpl = createGetReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, xioOutStrm, inHeaderNames, ioResource ); @@ -176,6 +183,7 @@ bool SerfRequestProcessor::processHead( const std::vector< ::rtl::OUString > & i apr_status_t& outSerfStatus ) { mpProcImpl = createHeadReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, inHeaderNames, ioResource ); outSerfStatus = runProcessor(); @@ -189,6 +197,7 @@ bool SerfRequestProcessor::processPut( const char* inData, apr_status_t& outSerfStatus ) { mpProcImpl = createPutReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, inData, inDataLen ); outSerfStatus = runProcessor(); @@ -209,6 +218,7 @@ bool SerfRequestProcessor::processPost( const char* inData, mReferer = apr_pstrdup( mrSerfSession.getAprPool(), rtl::OUStringToOString( inReferer, RTL_TEXTENCODING_UTF8 ) ); mpProcImpl = createPostReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, inData, inDataLen, mContentType, @@ -232,6 +242,7 @@ bool SerfRequestProcessor::processPost( const char* inData, mReferer = apr_pstrdup( mrSerfSession.getAprPool(), rtl::OUStringToOString( inReferer, RTL_TEXTENCODING_UTF8 ) ); mpProcImpl = createPostReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, inData, inDataLen, mContentType, @@ -245,7 +256,8 @@ bool SerfRequestProcessor::processPost( const char* inData, // DELETE bool SerfRequestProcessor::processDelete( apr_status_t& outSerfStatus ) { - mpProcImpl = createDeleteReqProcImpl( mPathStr ); + mpProcImpl = createDeleteReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders ); outSerfStatus = runProcessor(); return outSerfStatus == APR_SUCCESS; @@ -254,7 +266,8 @@ bool SerfRequestProcessor::processDelete( apr_status_t& outSerfStatus ) // MKCOL bool SerfRequestProcessor::processMkCol( apr_status_t& outSerfStatus ) { - mpProcImpl = createMkColReqProcImpl( mPathStr ); + mpProcImpl = createMkColReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders ); outSerfStatus = runProcessor(); return outSerfStatus == APR_SUCCESS; @@ -268,6 +281,7 @@ bool SerfRequestProcessor::processCopy( const rtl::OUString & inDestinationPath, mDestPathStr = apr_pstrdup( mrSerfSession.getAprPool(), rtl::OUStringToOString( inDestinationPath, RTL_TEXTENCODING_UTF8 ) ); mpProcImpl = createCopyReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, mDestPathStr, inOverwrite ); outSerfStatus = runProcessor(); @@ -283,6 +297,7 @@ bool SerfRequestProcessor::processMove( const rtl::OUString & inDestinationPath, mDestPathStr = apr_pstrdup( mrSerfSession.getAprPool(), rtl::OUStringToOString( inDestinationPath, RTL_TEXTENCODING_UTF8 ) ); mpProcImpl = createMoveReqProcImpl( mPathStr, + mrSerfSession.getRequestEnvironment().m_aRequestHeaders, mDestPathStr, inOverwrite ); outSerfStatus = runProcessor(); diff --git a/ucb/source/ucp/webdav/SerfRequestProcessorImpl.cxx b/ucb/source/ucp/webdav/SerfRequestProcessorImpl.cxx index a0eae866c20b..218f88c67c06 100644 --- a/ucb/source/ucp/webdav/SerfRequestProcessorImpl.cxx +++ b/ucb/source/ucp/webdav/SerfRequestProcessorImpl.cxx @@ -24,8 +24,10 @@ namespace http_dav_ucp { -SerfRequestProcessorImpl::SerfRequestProcessorImpl( const char* inPath ) +SerfRequestProcessorImpl::SerfRequestProcessorImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders ) : mPathStr( inPath ) + , mrRequestHeaders( inRequestHeaders ) , mbUseChunkedEncoding( false ) { } @@ -49,6 +51,28 @@ const bool SerfRequestProcessorImpl::useChunkedEncoding() const return mbUseChunkedEncoding; } +void SerfRequestProcessorImpl::setRequestHeaders( serf_bucket_t* inoutSerfHeaderBucket ) +{ + DAVRequestHeaders::const_iterator aHeaderIter( mrRequestHeaders.begin() ); + const DAVRequestHeaders::const_iterator aEnd( mrRequestHeaders.end() ); + + while ( aHeaderIter != aEnd ) + { + const rtl::OString aHeader = rtl::OUStringToOString( (*aHeaderIter).first, + RTL_TEXTENCODING_UTF8 ); + const rtl::OString aValue = rtl::OUStringToOString( (*aHeaderIter).second, + RTL_TEXTENCODING_UTF8 ); + + serf_bucket_headers_set( inoutSerfHeaderBucket, + aHeader.getStr(), + aValue.getStr() ); + + ++aHeaderIter; + } + + serf_bucket_headers_set( inoutSerfHeaderBucket, "Accept-Encoding", "gzip"); +} + bool SerfRequestProcessorImpl::processSerfResponseBucket( serf_request_t * /*inSerfRequest*/, serf_bucket_t * inSerfResponseBucket, apr_pool_t * /*inAprPool*/, diff --git a/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx b/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx index 7315285a2501..6cca21e5c4cc 100644 --- a/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx +++ b/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx @@ -25,6 +25,7 @@ #include <serf.h> #include <sal/types.h> +#include <DAVRequestEnvironment.hxx> namespace http_dav_ucp { @@ -32,7 +33,8 @@ namespace http_dav_ucp class SerfRequestProcessorImpl { public: - SerfRequestProcessorImpl( const char* inPath ); + SerfRequestProcessorImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders ); virtual ~SerfRequestProcessorImpl(); @@ -40,6 +42,7 @@ public: serf_bucket_t * createSerfRequestBucket( serf_request_t * inSerfRequest ) = 0; bool processSerfResponseBucket( serf_request_t * inSerfRequest, + serf_bucket_t * inSerfResponseBucket, apr_pool_t * inAprPool, apr_status_t & outStatus ); @@ -47,6 +50,8 @@ public: void activateChunkedEncoding(); protected: + void setRequestHeaders( serf_bucket_t* inoutSerfHeaderBucket ); + /*pure*/ virtual void processChunkOfResponseData( const char* data, apr_size_t len ) = 0; @@ -58,6 +63,7 @@ protected: private: const char* mPathStr; + const DAVRequestHeaders& mrRequestHeaders; bool mbUseChunkedEncoding; }; diff --git a/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.cxx b/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.cxx index 8e37c5a168f1..679665f22b94 100644 --- a/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.cxx +++ b/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.cxx @@ -37,11 +37,13 @@ namespace http_dav_ucp { SerfRequestProcessorImpl* createPropFindReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const Depth inDepth, const std::vector< ::rtl::OUString > & inPropNames, std::vector< DAVResource > & ioResources ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfPropFindReqProcImpl( inPath, + inRequestHeaders, inDepth, inPropNames, ioResources ); @@ -49,37 +51,45 @@ namespace http_dav_ucp } SerfRequestProcessorImpl* createPropFindReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const Depth inDepth, std::vector< DAVResourceInfo > & ioResInfo ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfPropFindReqProcImpl( inPath, + inRequestHeaders, inDepth, ioResInfo ); return pReqProcImpl; } SerfRequestProcessorImpl* createPropPatchReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const std::vector< ProppatchValue > & inProperties ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfPropPatchReqProcImpl( inPath, + inRequestHeaders, inProperties ); return pReqProcImpl; } SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< SerfInputStream >& xioInStrm ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfGetReqProcImpl( inPath, + inRequestHeaders, xioInStrm ); return pReqProcImpl; } SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< SerfInputStream >& xioInStrm, const std::vector< ::rtl::OUString > & inHeaderNames, DAVResource& ioResource ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfGetReqProcImpl( inPath, + inRequestHeaders, xioInStrm, inHeaderNames, ioResource ); @@ -87,19 +97,23 @@ namespace http_dav_ucp } SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream >& xioOutStrm ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfGetReqProcImpl( inPath, + inRequestHeaders, xioOutStrm ); return pReqProcImpl; } SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference<com::sun::star::io::XOutputStream >& xioOutStrm, const std::vector< ::rtl::OUString > & inHeaderNames, DAVResource& ioResource ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfGetReqProcImpl( inPath, + inRequestHeaders, xioOutStrm, inHeaderNames, ioResource ); @@ -107,10 +121,12 @@ namespace http_dav_ucp } SerfRequestProcessorImpl* createHeadReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const std::vector< ::rtl::OUString > & inHeaderNames, DAVResource& ioResource ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfHeadReqProcImpl( inPath, + inRequestHeaders, inHeaderNames, ioResource ); return pReqProcImpl; @@ -118,16 +134,19 @@ namespace http_dav_ucp SerfRequestProcessorImpl* createPutReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfPutReqProcImpl( inPath, + inRequestHeaders, inData, inDataLen ); return pReqProcImpl; } SerfRequestProcessorImpl* createPostReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen, const char* inContentType, @@ -135,6 +154,7 @@ namespace http_dav_ucp const com::sun::star::uno::Reference< SerfInputStream >& xioInStrm ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfPostReqProcImpl( inPath, + inRequestHeaders, inData, inDataLen, inContentType, @@ -144,6 +164,7 @@ namespace http_dav_ucp } SerfRequestProcessorImpl* createPostReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen, const char* inContentType, @@ -151,6 +172,7 @@ namespace http_dav_ucp const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream >& xioOutStrm ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfPostReqProcImpl( inPath, + inRequestHeaders, inData, inDataLen, inContentType, @@ -159,33 +181,41 @@ namespace http_dav_ucp return pReqProcImpl; } - SerfRequestProcessorImpl* createDeleteReqProcImpl( const char* inPath ) + SerfRequestProcessorImpl* createDeleteReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders ) { - SerfRequestProcessorImpl* pReqProcImpl = new SerfDeleteReqProcImpl( inPath ); + SerfRequestProcessorImpl* pReqProcImpl = new SerfDeleteReqProcImpl( inPath, + inRequestHeaders ); return pReqProcImpl; } - SerfRequestProcessorImpl* createMkColReqProcImpl( const char* inPath ) + SerfRequestProcessorImpl* createMkColReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders ) { - SerfRequestProcessorImpl* pReqProcImpl = new SerfMkColReqProcImpl( inPath ); + SerfRequestProcessorImpl* pReqProcImpl = new SerfMkColReqProcImpl( inPath, + inRequestHeaders ); return pReqProcImpl; } SerfRequestProcessorImpl* createCopyReqProcImpl( const char* inSourcePath, + const DAVRequestHeaders& inRequestHeaders, const char* inDestinationPath, const bool inOverwrite ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfCopyReqProcImpl( inSourcePath, + inRequestHeaders, inDestinationPath, inOverwrite ); return pReqProcImpl; } SerfRequestProcessorImpl* createMoveReqProcImpl( const char* inSourcePath, + const DAVRequestHeaders& inRequestHeaders, const char* inDestinationPath, const bool inOverwrite ) { SerfRequestProcessorImpl* pReqProcImpl = new SerfMoveReqProcImpl( inSourcePath, + inRequestHeaders, inDestinationPath, inOverwrite ); return pReqProcImpl; diff --git a/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.hxx b/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.hxx index a80d9e0313f2..29685eeff65a 100644 --- a/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.hxx +++ b/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.hxx @@ -34,42 +34,52 @@ namespace http_dav_ucp { SerfRequestProcessorImpl* createPropFindReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const Depth inDepth, const std::vector< ::rtl::OUString > & inPropNames, std::vector< DAVResource > & ioResources ); SerfRequestProcessorImpl* createPropFindReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const Depth inDepth, std::vector< DAVResourceInfo > & ioResInfo ); SerfRequestProcessorImpl* createPropPatchReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const std::vector< ProppatchValue > & inProperties ); SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< SerfInputStream >& xioInStrm ); SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< SerfInputStream >& xioInStrm, const std::vector< ::rtl::OUString > & inHeaderNames, DAVResource& ioResource ); SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream >& xioOutStrm ); SerfRequestProcessorImpl* createGetReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream >& xioOutStrm, const std::vector< ::rtl::OUString > & inHeaderNames, DAVResource& ioResource ); SerfRequestProcessorImpl* createHeadReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const std::vector< ::rtl::OUString > & inHeaderNames, DAVResource& ioResource ); SerfRequestProcessorImpl* createPutReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen ); SerfRequestProcessorImpl* createPostReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen, const char* inContentType, @@ -77,21 +87,26 @@ namespace http_dav_ucp const com::sun::star::uno::Reference< SerfInputStream >& xioInStrm ); SerfRequestProcessorImpl* createPostReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders, const char* inData, apr_size_t inDataLen, const char* inContentType, const char* inReferer, const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream >& xioOutStrm ); - SerfRequestProcessorImpl* createDeleteReqProcImpl( const char* inPath ); + SerfRequestProcessorImpl* createDeleteReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders ); - SerfRequestProcessorImpl* createMkColReqProcImpl( const char* inPath ); + SerfRequestProcessorImpl* createMkColReqProcImpl( const char* inPath, + const DAVRequestHeaders& inRequestHeaders ); SerfRequestProcessorImpl* createCopyReqProcImpl( const char* inSourcePath, + const DAVRequestHeaders& inRequestHeaders, const char* inDestinationPath, const bool inOverwrite ); SerfRequestProcessorImpl* createMoveReqProcImpl( const char* inSourcePath, + const DAVRequestHeaders& inRequestHeaders, const char* inDestinationPath, const bool inOverwrite ); |