3 ms·
No random writes is the nail in the coffin for me
by rubatuga 1y ago
No random writes is the nail in the coffin for me
- jauntywundrkind 1y agoIt'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.