userzhy opened a new pull request, #7074: URL: https://github.com/apache/opendal/pull/7074
# Which issue does this PR close? Part of #4842. # Rationale for this change This PR adds user-defined metadata support for the WebDAV service as part of the tracking issue #4842. WebDAV protocol supports custom properties through the PROPPATCH method (RFC4918), which allows us to store user-defined metadata as DAV dead properties. # What changes are included in this PR? - Add OpenDAL custom namespace constants for storing user metadata as DAV properties - Enable `write_with_user_metadata` capability in the WebDAV backend - Implement `webdav_proppatch()` method to set user metadata using RFC4918 PROPPATCH - Implement `build_proppatch_request()` to generate XML request body - Implement `parse_user_metadata_from_xml()` to extract user metadata from PROPFIND responses - Update `webdav_stat_rooted_abs_path()` to parse and return user metadata - Update `WebdavWriter::write_once()` to set user metadata via PROPPATCH after file upload - Add unit tests for new functionality User metadata is stored as dead properties in the OpenDAL namespace (`od:`) on WebDAV servers. # Are there any user-facing changes? Yes. Users can now use `write_with_user_metadata` when writing files to WebDAV storage, and retrieve user metadata when calling `stat()`. # AI Usage Statement This PR was developed with assistance from GitHub Copilot (Claude Opus 4.5). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
