Enable ranges for GET and PUT; improves compatibility and reliability #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've been trying to get the ESPWebDAV working optimally with Linux. From my previous PR:
"davfs2 (http://savannah.nongnu.org/projects/davfs2) still doesn't want to write files. webdavfs (https://github.com/miquels/webdavfs) says upfront when you mount the device that since it's missing PUT range support, it will only mount read-only. cadaver (http://webdav.org/cadaver/) works flawlessly, but it's more like the old command-line FTP client than a network filrsystem implementation."
I now have webdavfs working pretty well with it. Partial requests are supported for both GET and PUT. webdavfs appears to write up to 128K at a time with PUT and read 64K or 128K at a time with GET. These "chunked" requests also seem to have made file transfers more reliable. I was having power-reliability issues with long file transfers (with the ESPWebDAV in the SD-card slot of a RRD full-graphic controller plugged into an SKR Pro 1.1), and still am if I use cadaver to move files around, but uploads and downloads alike are pretty reliable so far when the device is mounted with webdavfs.
Interoperability with Windows appears unaffected. (You have to refer to the device by its IP address, not its hostname; this appears to be a deficiency with Windows' WebDAV implementation.)