--- a/src/server/webdav/webdav.h Thu Oct 31 10:26:35 2019 +0100 +++ b/src/server/webdav/webdav.h Sun Dec 29 15:09:58 2019 +0100 @@ -49,16 +49,32 @@ int webdav_service(pblock *pb, Session *sn, Request *rq); +/* + * returns a buffer containing the request body + * + * this function sets an http response code in case of an error + * or missing request body + */ UcxBuffer* rqbody2buffer(Session *sn, Request *rq); -int webdav_getdepth(Request *rq); int webdav_options(pblock *pb, Session *sn, Request *rq); int webdav_propfind(pblock *pb, Session *sn, Request *rq); + +int webdav_propfind_do( + WebdavBackend *webdav, + UcxList *requests, + WebdavResponse *response, + VFS_DIR parent, + const char *path, + struct stat *s); + +int webdav_propfind_finish(WebdavBackend *webdav, UcxList *requests); + int propfind_children( WebdavBackend *webdav, - WebdavPropfindRequest *request, + UcxList *requests, WebdavResponse *response, VFSContext *vfs, char *path); @@ -78,7 +94,8 @@ int default_propfind_init( WebdavPropfindRequest *rq, - const char* path); + const char* path, + WebdavPList **outplist); int default_propfind_do( WebdavPropfindRequest *request, WebdavResponse *response,