- Martin Storsjo made libcurl use the Expect: 100-continue header for posts

with unknown size. Previously it was only used for posts with a known size
  larger than 1024 bytes.
This commit is contained in:
Daniel Stenberg 2009-12-07 20:25:17 +00:00
parent 95362af43c
commit ebe5339003
5 changed files with 10 additions and 2 deletions

View File

@ -7,6 +7,11 @@
Changelog
Daniel Stenberg (7 Dec 2009)
- Martin Storsjo made libcurl use the Expect: 100-continue header for posts
with unknown size. Previously it was only used for posts with a known size
larger than 1024 bytes.
Daniel Stenberg (1 Dec 2009)
- If the Expect: 100-continue header has been set by the application through
curl_easy_setopt with CURLOPT_HTTPHEADER, the library should set

View File

@ -12,6 +12,7 @@ This release includes the following changes:
o support SSL_FILETYPE_ENGINE for client certificate
o curl-config can now show the arguments used when building curl
o non-blocking TFTP
o send Expect: 100-continue for POSTs with unknown sizes
This release includes the following bugfixes:

View File

@ -2815,7 +2815,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
/* figure out the size of the postfields */
postsize = (data->set.postfieldsize != -1)?
data->set.postfieldsize:
(data->set.postfields? (curl_off_t)strlen(data->set.postfields):0);
(data->set.postfields? (curl_off_t)strlen(data->set.postfields):-1);
}
if(!data->req.upload_chunky) {
/* We only set Content-Length and allow a custom Content-Length if
@ -2849,7 +2849,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
data->state.expect100header =
Curl_compareheader(ptr, "Expect:", "100-continue");
}
else if(postsize > TINY_INITIAL_POST_SIZE) {
else if(postsize > TINY_INITIAL_POST_SIZE || postsize < 0) {
result = expect100(data, conn, req_buffer);
if(result)
return result;

View File

@ -40,6 +40,7 @@ Host: %HOSTIP:%HTTPPORT
Accept: */*
Transfer-Encoding: chunked
Content-Type: application/x-www-form-urlencoded
Expect: 100-continue
3
one

View File

@ -88,6 +88,7 @@ Host: 127.0.0.1:8990
Accept: */*
Transfer-Encoding: chunked
Content-Type: application/x-www-form-urlencoded
Expect: 100-continue
3
one