Chunked requests to support WebDAV from MacOS Finder#375
Chunked requests to support WebDAV from MacOS Finder#375MitchBradley wants to merge 7 commits intoESP32Async:mainfrom
Conversation
MitchBradley
commented
Jan 24, 2026
- Adds the necessary methods for WebDAV, like PROPFIND, LOCK, MKCOL, PUT, etc
- Adds support for chunked encoding in requests, primarily used by MacOS via Finder and WebDAVFS
- Adds a WebDAV example for testing the above
|
Linking the discussion: #369 |
|
@MitchBradley : Thanks a lot ! FYI we are not using WiFiCongig.h in CI - please have a look at how the other examples are constructed. We are building with pio also. The PR is quite big so it will take some time for it to be reviewed by at least 2 team members. Meanwhile you could have a look at these CI issues maybe ? |
} else if (_parseState == PARSE_REQ_BODY) {
BLAH;
}became } else if (_parseState == PARSE_REQ_BODY) {
if (_chunkedParseState != CHUNK_NONE) {
A FEW LINES;
} else {
BLAH;
}
}but diff chopped up the extra-indented BLAH into a mess, instead of realizing that is was just the same as before, but nested. |
|
Hello @MitchBradley, We had some discussions and we think that this can be a good time to officially add support in the project, diectly in the sources, through implementing a handler, like this is done for WebSocket, SSE and JSON. So to achieve that we are proposing to split this PR in 2 PRs:
Since you have a pretty good use case in your app with webdav, this could be an opportunity to build a layer that is flexible enough that you could directly use or extend in your app. Let us know what you think about this idea. Thanks! |
|
Have a look at #376 and #377 . To make it easy to review and test, I separated the concerns of adding the missing methods (376) and adding chunked requests (377). Each has simple tests that avoid the complexity of actually handling the WebDAV logic. I have to think about whether I have time to do the in-tree WebDAV stuff. 376 + 377 gives me all I need to get the job done, and I need to get back to work on other aspects of my main project. |