diff -r e820d433f405 -r d5031c30022c src/server/webdav/operation.c --- a/src/server/webdav/operation.c Sat Jan 25 09:00:27 2020 +0100 +++ b/src/server/webdav/operation.c Sat Jan 25 11:16:55 2020 +0100 @@ -37,7 +37,13 @@ #define WEBDAV_PATH_MAX 8192 -WebdavOperation* webdav_operation_create( +/**************************************************************************** + * + * PROPFIND OPERATION + * + ****************************************************************************/ + +WebdavOperation* webdav_create_propfind_operation( Session *sn, Request *rq, WebdavBackend *dav, @@ -53,7 +59,7 @@ op->reqprops = reqprops; op->requests = requests; op->response = response; - + op->response_close = webdav_op_propfiond_close_resource; response->op = op; return op; @@ -340,3 +346,37 @@ } return ret; } + +/**************************************************************************** + * + * PROPPATCH OPERATION + * + ****************************************************************************/ + +WebdavOperation* webdav_create_proppatch_operation( + Session *sn, + Request *rq, + WebdavBackend *dav, + WebdavProppatchRequest *proppatch, + WebdavResponse *response) +{ + WebdavOperation *op = pool_malloc(sn->pool, sizeof(WebdavOperation)); + ZERO(op, sizeof(WebdavOperation)); + op->dav = dav; + op->sn = sn; + op->rq = rq; + op->reqprops = NULL; + op->response = response; + op->response_close = webdav_op_proppatch_close_resource; + response->op = op; + + return op; +} + +int webdav_op_proppatch_close_resource( + WebdavOperation *op, + WebdavResource *resource) +{ + return 0; +} +