upvote
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://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-byte...

Apache has has a PUT with Content-Range, 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-serv...

It would be great to see a proper extension formalized here! But there are options.

reply