curl / Mailing Lists / curl-library / Single Mail


Re: Ranged PUTs, Content-Range, and Content-Length

From: Christopher Head via curl-library <>
Date: Sun, 28 Apr 2019 18:47:29 -0700

On Sun, 28 Apr 2019 16:57:39 -0400
Ray Satiro via curl-library <> wrote:

> That's not allowed. To PUT is to completely replace a resource.

Then it seems that upload resuming, which libcurl does support, ought
to be banned, too, oughtn’t it? After all, using Content-Range to
resume an interrupted upload is modifying the existing resource by
appending more bytes on the end, not replacing a resource wholesale.
Yet upload resuming using Content-Range seems not to be all that
uncommon (at least, searching this list’s archives showed a few results
of people doing this in the past, and CURLOPT_RESUME_FROM does apply to
PUTs’ request bodies).

In my defense, I’m not the one who decided to use PUT this way. Amazon
did [1], and I’m just following their rules.

If this is sufficiently weird, I certainly don’t mind using
CURLOPT_HTTPHEADER. I just wanted to check if I was missing something
that would allow this to be done in a nicer way.


Christopher Head


Received on 2019-04-29