From: Sergey Ponomarev Date: Fri, 13 Feb 2026 07:50:25 +0000 (+0000) Subject: uclient-fetch: support for WebDAV methods X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=a1531e89f6c22f92a2ac52b0408a7f5c755a09f2;p=project%2Fuclient.git uclient-fetch: support for WebDAV methods Add COPY, LOCK, MKCOL, MOVE, PROPFIND, PROPPATCH and UNLOCK request types for WebDAV support. Add body support for methods that use XML request bodies (PROPFIND, PROPPATCH, LOCK, MKCOL). Signed-off-by: Sergey Ponomarev Signed-off-by: Felix Fietkau --- diff --git a/uclient-http.c b/uclient-http.c index 01289a2..ce046c3 100644 --- a/uclient-http.c +++ b/uclient-http.c @@ -46,6 +46,13 @@ enum request_type { REQ_POST, REQ_PUT, REQ_DELETE, + REQ_COPY, + REQ_LOCK, + REQ_MKCOL, + REQ_MOVE, + REQ_PROPFIND, + REQ_PROPPATCH, + REQ_UNLOCK, __REQ_MAX }; @@ -66,6 +73,13 @@ static const char * const request_types[__REQ_MAX] = { [REQ_POST] = "POST", [REQ_PUT] = "PUT", [REQ_DELETE] = "DELETE", + [REQ_COPY] = "COPY", + [REQ_LOCK] = "LOCK", + [REQ_MKCOL] = "MKCOL", + [REQ_MOVE] = "MOVE", + [REQ_PROPFIND] = "PROPFIND", + [REQ_PROPPATCH] = "PROPPATCH", + [REQ_UNLOCK] = "UNLOCK", }; struct uclient_http { @@ -306,6 +320,10 @@ static bool uclient_request_supports_body(enum request_type req_type) case REQ_POST: case REQ_PUT: case REQ_DELETE: + case REQ_PROPFIND: + case REQ_PROPPATCH: + case REQ_LOCK: + case REQ_MKCOL: return true; default: return false;