Webdavz.RequestWebDAV request body parsing.
Parses PROPFIND and PROPPATCH XML request bodies as defined in RFC 4918.
A PROPFIND body specifies which properties to retrieve (Section 9.1):
<allprop/>: retrieve all properties<propname/>: retrieve just property names (no values)<prop> with child elements: retrieve specific propertiesA PROPPATCH body contains <set> and <remove> instructions (Section 9.2).
type propfind = | Allprop of (string * string) listRetrieve all properties. The name list contains additional properties requested via <include> (Section 14.2).
| PropnameRetrieve property names only (no values).
*)| Props of (string * string) listRetrieve the listed properties. Properties not found on a resource appear in a 404 propstat.
*)PROPFIND request variants.
val parse_propfind : string -> propfind optionparse_propfind xml parses a PROPFIND request body. Returns None on malformed XML.
val propfind_of_body : string option -> propfindpropfind_of_body body_opt parses a PROPFIND body, defaulting to Allprop [] for None or empty string per Section 9.1: "A client may choose not to submit a request body. An empty PROPFIND request body MUST be treated as if it were an 'allprop' request."
val parse_proppatch : string -> propupdate list optionparse_proppatch xml parses a PROPPATCH <propertyupdate> body. Returns a list of update instructions in document order, or None on malformed XML.
The Depth header controls recursion for collection operations.