3 ms·
It's HTTP, of course there's an extension for that? Sabre-DAV's implementation seems to be relatively well implemented. It's supported in webdavfs for example.
by jauntywundrkind 1y ago
It's HTTP, of course there's an extension for that?
Sabre-DAV's implementation seems to be relatively well implemented. It's supported in webdavfs for example. Here's some example headers one might attach to a PATCH request:
X-Update-Range: append
X-Update-Range: bytes=3-6
X-Update-Range: bytes=4-
X-Update-Range: bytes=-2
https://sabre.io/dav/http-patch/ https://sabre.io/dav/http-patch/ https://github.com/miquels/webdavfsl https://github.com/miquels/webdavfsl
Another example is this expired draft. I don't love it, but it uses PATCH+Content-Range. There's some other neat ideas in here, and shows the versatility & open possibility (even if I don't love re-using this header this way). https://www.ietf.org/archive/id/draft-wright-http-patch-byterange-04.html#name-introduction https://www.ietf.org/archive/id/draft-wright-http-patch-byte...
Apache has has a PUT with Content-Range, https://github.com/miquels/webdav-handler-rs/blob/master/doc/Apache-PUT-with-Content-Range.md https://github.com/miquels/webdav-handler-rs/blob/master/doc...
Great write-up in rclone on trying to support partial updates, https://forum.rclone.org/t/support-putstream-for-webdav-servers-with-partial-update-support/27247 https://forum.rclone.org/t/support-putstream-for-webdav-serv...
It would be great to see a proper extension formalized here! But there are options.