src/server/webdav/webdav.c

branch
webdav
changeset 307
8787cb5ebab3
parent 306
e03737cea6e2
child 309
fc021bd576d4
equal deleted inserted replaced
306:e03737cea6e2 307:8787cb5ebab3
276 */ 276 */
277 int webdav_propfind_init( 277 int webdav_propfind_init(
278 WebdavBackend *dav, 278 WebdavBackend *dav,
279 WebdavPropfindRequest *propfind, 279 WebdavPropfindRequest *propfind,
280 const char *path, 280 const char *path,
281 const char *uri,
281 UcxList **out_req) 282 UcxList **out_req)
282 { 283 {
283 pool_handle_t *pool = propfind->sn->pool; 284 pool_handle_t *pool = propfind->sn->pool;
284 UcxAllocator *a = session_get_allocator(propfind->sn); 285 UcxAllocator *a = session_get_allocator(propfind->sn);
285 286
315 // create plist copy as out-plist for init 316 // create plist copy as out-plist for init
316 newProp = webdav_plist_clone(pool, newProp); 317 newProp = webdav_plist_clone(pool, newProp);
317 318
318 // run init: this can generate a new properties list (newProp) 319 // run init: this can generate a new properties list (newProp)
319 // which will be passed to the next backend 320 // which will be passed to the next backend
320 if(davList->propfind_init(pReq, path, &newProp)) { 321 if(davList->propfind_init(pReq, path, uri, &newProp)) {
321 return REQ_ABORTED; 322 return REQ_ABORTED;
322 } 323 }
323 324
324 newPropCount = webdav_plist_size(newProp); 325 newPropCount = webdav_plist_size(newProp);
325 326
346 347
347 // list of individual WebdavPropfindRequest objects for each Backend 348 // list of individual WebdavPropfindRequest objects for each Backend
348 UcxList *requestObjects = NULL; 349 UcxList *requestObjects = NULL;
349 350
350 // Initialize all Webdav Backends 351 // Initialize all Webdav Backends
351 if(webdav_propfind_init(dav, propfind, path, &requestObjects)) { 352 if(webdav_propfind_init(dav, propfind, path, uri, &requestObjects)) {
352 return REQ_ABORTED; 353 return REQ_ABORTED;
353 } 354 }
354 355
355 WebdavOperation *op = webdav_create_propfind_operation( 356 WebdavOperation *op = webdav_create_propfind_operation(
356 sn, 357 sn,
763 /* ------------------------ default webdav backend ------------------------ */ 764 /* ------------------------ default webdav backend ------------------------ */
764 765
765 int default_propfind_init( 766 int default_propfind_init(
766 WebdavPropfindRequest *rq, 767 WebdavPropfindRequest *rq,
767 const char* path, 768 const char* path,
769 const char *href,
768 WebdavPList **outplist) 770 WebdavPList **outplist)
769 { 771 {
770 DefaultWebdavData *data = pool_malloc( 772 DefaultWebdavData *data = pool_malloc(
771 rq->sn->pool, 773 rq->sn->pool,
772 sizeof(DefaultWebdavData)); 774 sizeof(DefaultWebdavData));

mercurial