You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by or...@apache.org on 2012/03/14 13:24:28 UTC

svn commit: r1300521 - /incubator/ooo/trunk/main/ucb/source/ucp/webdav/

Author: orw
Date: Wed Mar 14 12:24:27 2012
New Revision: 1300521

URL: http://svn.apache.org/viewvc?rev=1300521&view=rev
Log:
119063 - correct serf integration
       -- apply request headers provided by corresponding caller to the HTTP/WebDAV request
          needed for our update service 

Modified:
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/DAVRequestEnvironment.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfCopyReqProcImpl.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfGetReqProcImpl.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfGetReqProcImpl.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfHeadReqProcImpl.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfHeadReqProcImpl.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMkColReqProcImpl.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMoveReqProcImpl.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPostReqProcImpl.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPutReqProcImpl.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessor.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImpl.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.cxx
    incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.hxx

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/DAVRequestEnvironment.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/DAVRequestEnvironment.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/DAVRequestEnvironment.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/DAVRequestEnvironment.hxx Wed Mar 14 12:24:27 2012
@@ -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 ),

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfCopyReqProcImpl.cxx Wed Mar 14 12:24:27 2012
@@ -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::cre
                                                                  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;

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfCopyReqProcImpl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfCopyReqProcImpl.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfCopyReqProcImpl.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfCopyReqProcImpl.hxx Wed Mar 14 12:24:27 2012
@@ -31,6 +31,7 @@ class SerfCopyReqProcImpl : public SerfR
 {
 public:
     SerfCopyReqProcImpl( const char* inSourcePath,
+                         const DAVRequestHeaders& inRequestHeaders,
                          const char* inDestinationPath,
                          const bool inOverwrite );
 

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.cxx Wed Mar 14 12:24:27 2012
@@ -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::c
                                                                  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;
 }

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfDeleteReqProcImpl.hxx Wed Mar 14 12:24:27 2012
@@ -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();
 

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfGetReqProcImpl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfGetReqProcImpl.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfGetReqProcImpl.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfGetReqProcImpl.cxx Wed Mar 14 12:24:27 2012
@@ -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( 
 }
 
 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( 
 }
 
 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( 
 }
 
 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::crea
                                                                  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;
 }

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfGetReqProcImpl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfGetReqProcImpl.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfGetReqProcImpl.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfGetReqProcImpl.hxx Wed Mar 14 12:24:27 2012
@@ -38,17 +38,21 @@ class SerfGetReqProcImpl : public SerfRe
 {
 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 );

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfHeadReqProcImpl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfHeadReqProcImpl.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfHeadReqProcImpl.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfHeadReqProcImpl.cxx Wed Mar 14 12:24:27 2012
@@ -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::cre
                                                                  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;
 }

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfHeadReqProcImpl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfHeadReqProcImpl.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfHeadReqProcImpl.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfHeadReqProcImpl.hxx Wed Mar 14 12:24:27 2012
@@ -38,6 +38,7 @@ class SerfHeadReqProcImpl : public SerfR
 {
 public:
     SerfHeadReqProcImpl( const char* inPath,
+                         const DAVRequestHeaders& inRequestHeaders,
                          const std::vector< ::rtl::OUString > & inHeaderNames,
                          DAVResource & ioResource );
 

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMkColReqProcImpl.cxx Wed Mar 14 12:24:27 2012
@@ -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::cr
                                                                  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;
 }

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMkColReqProcImpl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMkColReqProcImpl.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMkColReqProcImpl.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMkColReqProcImpl.hxx Wed Mar 14 12:24:27 2012
@@ -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();
 

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMoveReqProcImpl.cxx Wed Mar 14 12:24:27 2012
@@ -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::cre
                                                                  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;

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMoveReqProcImpl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMoveReqProcImpl.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMoveReqProcImpl.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfMoveReqProcImpl.hxx Wed Mar 14 12:24:27 2012
@@ -31,6 +31,7 @@ class SerfMoveReqProcImpl : public SerfR
 {
 public:
     SerfMoveReqProcImpl( const char* inSourcePath,
+                         const DAVRequestHeaders& inRequestHeaders,
                          const char* inDestinationPath,
                          const bool inOverwrite );
 

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPostReqProcImpl.cxx Wed Mar 14 12:24:27 2012
@@ -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
 }
 
 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::cre
                                                                  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;

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPostReqProcImpl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPostReqProcImpl.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPostReqProcImpl.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPostReqProcImpl.hxx Wed Mar 14 12:24:27 2012
@@ -34,6 +34,7 @@ class SerfPostReqProcImpl : public SerfR
 {
 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,

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.cxx Wed Mar 14 12:24:27 2012
@@ -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::SerfPropFindReq
 }
 
 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:
                                                                  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;

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropFindReqProcImpl.hxx Wed Mar 14 12:24:27 2012
@@ -38,11 +38,13 @@ class SerfPropFindReqProcImpl : public S
 {
 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 );
 

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.cxx Wed Mar 14 12:24:27 2012
@@ -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
                                                                  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;

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPropPatchReqProcImpl.hxx Wed Mar 14 12:24:27 2012
@@ -34,6 +34,7 @@ class SerfPropPatchReqProcImpl : public 
 {
 public:
     SerfPropPatchReqProcImpl( const char* inPath,
+                              const DAVRequestHeaders& inRequestHeaders,
                               const std::vector< ProppatchValue > & inProperties );
 
     virtual ~SerfPropPatchReqProcImpl();

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPutReqProcImpl.cxx Wed Mar 14 12:24:27 2012
@@ -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::crea
                                                                  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 ) );
     }
 
 

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPutReqProcImpl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPutReqProcImpl.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPutReqProcImpl.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfPutReqProcImpl.hxx Wed Mar 14 12:24:27 2012
@@ -31,6 +31,7 @@ class SerfPutReqProcImpl : public SerfRe
 {
 public:
     SerfPutReqProcImpl( const char* inPath,
+                        const DAVRequestHeaders& inRequestHeaders,
                         const char* inData,
                         apr_size_t inDataLen );
     

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessor.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessor.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessor.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessor.cxx Wed Mar 14 12:24:27 2012
@@ -86,6 +86,7 @@ bool SerfRequestProcessor::processPropFi
                                             apr_status_t& outSerfStatus )
 {
     mpProcImpl = createPropFindReqProcImpl( mPathStr,
+                                            mrSerfSession.getRequestEnvironment().m_aRequestHeaders,
                                             inDepth,
                                             inPropNames,
                                             ioResources );
@@ -100,6 +101,7 @@ bool SerfRequestProcessor::processPropFi
                                             apr_status_t& outSerfStatus )
 {
     mpProcImpl = createPropFindReqProcImpl( mPathStr,
+                                            mrSerfSession.getRequestEnvironment().m_aRequestHeaders,
                                             inDepth,
                                             ioResInfo );
     outSerfStatus = runProcessor();
@@ -112,6 +114,7 @@ bool SerfRequestProcessor::processPropPa
                                              apr_status_t& outSerfStatus )
 {
     mpProcImpl = createPropPatchReqProcImpl( mPathStr,
+                                             mrSerfSession.getRequestEnvironment().m_aRequestHeaders,
                                              inProperties );
     outSerfStatus = runProcessor();
 
@@ -123,6 +126,7 @@ bool SerfRequestProcessor::processGet( c
                                        apr_status_t& outSerfStatus )
 {
     mpProcImpl = createGetReqProcImpl( mPathStr,
+                                       mrSerfSession.getRequestEnvironment().m_aRequestHeaders,
                                        xioInStrm );
     outSerfStatus = runProcessor();
 
@@ -136,6 +140,7 @@ bool SerfRequestProcessor::processGet( c
                                        apr_status_t& outSerfStatus )
 {
     mpProcImpl = createGetReqProcImpl( mPathStr,
+                                       mrSerfSession.getRequestEnvironment().m_aRequestHeaders,
                                        xioInStrm,
                                        inHeaderNames,
                                        ioResource );
@@ -149,6 +154,7 @@ bool SerfRequestProcessor::processGet( c
                                        apr_status_t& outSerfStatus )
 {
     mpProcImpl = createGetReqProcImpl( mPathStr,
+                                       mrSerfSession.getRequestEnvironment().m_aRequestHeaders,
                                        xioOutStrm );
     outSerfStatus = runProcessor();
 
@@ -162,6 +168,7 @@ bool SerfRequestProcessor::processGet( c
                                        apr_status_t& outSerfStatus )
 {
     mpProcImpl = createGetReqProcImpl( mPathStr,
+                                       mrSerfSession.getRequestEnvironment().m_aRequestHeaders,
                                        xioOutStrm,
                                        inHeaderNames,
                                        ioResource );
@@ -176,6 +183,7 @@ bool SerfRequestProcessor::processHead( 
                                         apr_status_t& outSerfStatus )
 {
     mpProcImpl = createHeadReqProcImpl( mPathStr,
+                                        mrSerfSession.getRequestEnvironment().m_aRequestHeaders,
                                         inHeaderNames,
                                         ioResource );
     outSerfStatus = runProcessor();
@@ -189,6 +197,7 @@ bool SerfRequestProcessor::processPut( c
                                        apr_status_t& outSerfStatus )
 {
     mpProcImpl = createPutReqProcImpl( mPathStr,
+                                       mrSerfSession.getRequestEnvironment().m_aRequestHeaders,
                                        inData,
                                        inDataLen );
     outSerfStatus = runProcessor();
@@ -209,6 +218,7 @@ bool SerfRequestProcessor::processPost( 
     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( 
     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( 
 // 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
 // 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( 
     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( 
     mDestPathStr = apr_pstrdup( mrSerfSession.getAprPool(), 
                                 rtl::OUStringToOString( inDestinationPath, RTL_TEXTENCODING_UTF8 ) );
     mpProcImpl = createMoveReqProcImpl( mPathStr,
+                                        mrSerfSession.getRequestEnvironment().m_aRequestHeaders,
                                         mDestPathStr,
                                         inOverwrite );
     outSerfStatus = runProcessor();

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImpl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImpl.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImpl.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImpl.cxx Wed Mar 14 12:24:27 2012
@@ -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::use
     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*/,

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImpl.hxx Wed Mar 14 12:24:27 2012
@@ -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;
 };
 

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.cxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.cxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.cxx Wed Mar 14 12:24:27 2012
@@ -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, 
+        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, 
+        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, 
+        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, 
+        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, 
+        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, 
+        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, 
+        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, 
+        SerfRequestProcessorImpl* pReqProcImpl = new SerfHeadReqProcImpl( inPath,
+                                                                          inRequestHeaders, 
                                                                           inHeaderNames,
                                                                           ioResource );
         return pReqProcImpl;
@@ -118,23 +134,27 @@ namespace http_dav_ucp
 
 
     SerfRequestProcessorImpl* createPutReqProcImpl( const char* inPath,
+                                                    const DAVRequestHeaders& inRequestHeaders,
                                                     const char* inData,
                                                     apr_size_t inDataLen )
     {
-        SerfRequestProcessorImpl* pReqProcImpl = new SerfPutReqProcImpl( inPath, 
+        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,
                                                      const char* inReferer,
                                                      const com::sun::star::uno::Reference< SerfInputStream >& xioInStrm )
     {
-        SerfRequestProcessorImpl* pReqProcImpl = new SerfPostReqProcImpl( inPath, 
+        SerfRequestProcessorImpl* pReqProcImpl = new SerfPostReqProcImpl( inPath,
+                                                                          inRequestHeaders, 
                                                                           inData,
                                                                           inDataLen,
                                                                           inContentType,
@@ -144,13 +164,15 @@ namespace http_dav_ucp
     }
 
     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* pReqProcImpl = new SerfPostReqProcImpl( inPath, 
+        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;

Modified: incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.hxx?rev=1300521&r1=1300520&r2=1300521&view=diff
==============================================================================
--- incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.hxx (original)
+++ incubator/ooo/trunk/main/ucb/source/ucp/webdav/SerfRequestProcessorImplFac.hxx Wed Mar 14 12:24:27 2012
@@ -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 );