ZeonXr opened a new pull request, #7823:
URL: https://github.com/apache/opendal/pull/7823

   # Which issue does this PR close?
   
   Closes #7822
   
   # Rationale for this change
   
   WebDAV `207 Multi-Status` PROPFIND responses can contain multiple `propstat` 
entries under the same `response`, grouping properties by status.
   
   For example, available properties can be returned in a `200 OK` propstat, 
while unavailable properties can be returned in a `404 Not Found` propstat.
   
   OpenDAL previously modeled `propstat` as a single field, so valid WebDAV 
responses with multiple `propstat` entries could fail during XML 
deserialization with duplicate `propstat`.
   
   # What changes are included in this PR?
   
   This PR updates the WebDAV PROPFIND response parser to support multiple 
`propstat` entries.
   
   The included changes are:
   
   - Change `PropfindResponse::propstat` from a single `Propstat` to 
`Vec<Propstat>`.
   - Add `parse_propstats` to parse metadata from the first successful propstat.
   - Allow failed propstat groups with missing metadata fields to deserialize.
   - Update WebDAV stat/list paths to use the new multiple-propstat parser.
   - Add regression tests for responses containing both `200 OK` and `404 Not 
Found` propstat entries.
   
   # Are there any user-facing changes?
   
   Yes. WebDAV services can now parse valid PROPFIND responses that contain 
multiple `propstat` entries under the same response.
   
   There are no public API changes and no breaking changes.
   
   # AI Usage Statement
   
   Tool/model: GitHub Copilot & OpenAI GPT-5.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]

Reply via email to