Le 13 janv. 2014 à 16:08, Daniel Stenberg <[email protected]> a écrit :
>> I compared what happens with an HTTP PUT request if the caller forgot to set >> the expected size via `CURLOPT_INFILESIZE`: in that case, the Content-Length >> header is omitted (and thus libcurl does not send any negative >> Content-Length). > > Ah yes. Since PUT already works like that, I think it is a good reason for us > to make POST do the same! OK! I will go ahead with this approach and prepare a patch as soon as possible. >> The Content-Length is explicitly set to 0 by libcurl during the auth >> negotiation >> * this is not the case for HTTP PUT (i.e. if a user-defined Content-Length >> header exists, it is set even at auth negotiation time). > > I think that should be considered a bug in the PUT logic, as I'm sure it will > seriously confuse servers if we announce a length and then don't actually > send that body. My bad: looking at `Curl_http()` was not enough... I can see that `Curl_add_custom_headers` properly takes care to ignore the user-defined Content-Length during auth neg[1]. So there is no bug. [1]: https://github.com/bagder/curl/blob/a33e7ed/lib/http.c#L1541-L1545 ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
