Loading docs/libcurl/curl_easy_setopt.3 +6 −0 Original line number Diff line number Diff line Loading @@ -1649,6 +1649,12 @@ Pass a long to tell libcurl how to act on transfer decoding. If set to zero, transfer decoding will be disabled, if set to 1 it is enabled (default). libcurl does chunked transfer decoding by default unless this option is set to zero. (added in 7.16.2) .IP CURLOPT_EXPECT_100_TIMEOUT_MS Pass a long to tell libcurl the number of milliseconds to wait for a server response with the HTTP status 100 (Continue), 417 (Expectation Failed) or similar after sending a HTTP request containing an Expect: 100-continue header. If this times out before a response is received, the request body is sent anyway. By default, libcurl waits 1000 milliseconds. (Added in 7.36.0) .SH SMTP OPTIONS .IP CURLOPT_MAIL_FROM Pass a pointer to a zero terminated string as parameter. This should be used Loading docs/libcurl/symbols-in-versions +1 −0 Original line number Diff line number Diff line Loading @@ -341,6 +341,7 @@ CURLOPT_DNS_USE_GLOBAL_CACHE 7.9.3 7.11.1 CURLOPT_EGDSOCKET 7.7 CURLOPT_ENCODING 7.10 CURLOPT_ERRORBUFFER 7.1 CURLOPT_EXPECT_100_TIMEOUT_MS 7.36.0 CURLOPT_FAILONERROR 7.1 CURLOPT_FILE 7.1 7.9.7 CURLOPT_FILETIME 7.5 Loading include/curl/curl.h +4 −0 Original line number Diff line number Diff line Loading @@ -1577,6 +1577,10 @@ typedef enum { /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */ CINIT(SSL_ENABLE_ALPN, LONG, 226), /* Time to wait for a response to a HTTP request containing an * Expect: 100-continue header before sending the data anyway. */ CINIT(EXPECT_100_TIMEOUT_MS, LONG, 227), CURLOPT_LASTENTRY /* the last unused */ } CURLoption; Loading lib/transfer.c +3 −5 Original line number Diff line number Diff line Loading @@ -87,8 +87,6 @@ /* The last #include file should be: */ #include "memdebug.h" #define CURL_TIMEOUT_EXPECT_100 1000 /* counting ms here */ /* * This function will call the read callback to fill our buffer with data * to upload. Loading Loading @@ -839,7 +837,7 @@ static CURLcode readwrite_upload(struct SessionHandle *data, *didwhat &= ~KEEP_SEND; /* we didn't write anything actually */ /* set a timeout for the multi interface */ Curl_expire(data, CURL_TIMEOUT_EXPECT_100); Curl_expire(data, data->set.expect_100_timeout); break; } Loading Loading @@ -1075,7 +1073,7 @@ CURLcode Curl_readwrite(struct connectdata *conn, */ long ms = Curl_tvdiff(k->now, k->start100); if(ms >= CURL_TIMEOUT_EXPECT_100) { if(ms >= data->set.expect_100_timeout) { /* we've waited long enough, continue anyway */ k->exp100 = EXP100_SEND_DATA; k->keepon |= KEEP_SEND; Loading Loading @@ -1969,7 +1967,7 @@ Curl_setup_transfer( /* Set a timeout for the multi interface. Add the inaccuracy margin so that we don't fire slightly too early and get denied to run. */ Curl_expire(data, CURL_TIMEOUT_EXPECT_100); Curl_expire(data, data->set.expect_100_timeout); } else { if(data->state.expect100header) Loading lib/url.c +10 −0 Original line number Diff line number Diff line Loading @@ -565,6 +565,8 @@ CURLcode Curl_init_userdefined(struct UserDefined *set) set->ssl_enable_npn = TRUE; set->ssl_enable_alpn = TRUE; set->expect_100_timeout = 1000L; /* Wait for a second by default. */ return res; } Loading Loading @@ -1256,6 +1258,14 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, } break; case CURLOPT_EXPECT_100_TIMEOUT_MS: /* * Time to wait for a response to a HTTP request containing an * Expect: 100-continue header before sending the data anyway. */ data->set.expect_100_timeout = va_arg(param, long); break; #endif /* CURL_DISABLE_HTTP */ case CURLOPT_CUSTOMREQUEST: Loading Loading
docs/libcurl/curl_easy_setopt.3 +6 −0 Original line number Diff line number Diff line Loading @@ -1649,6 +1649,12 @@ Pass a long to tell libcurl how to act on transfer decoding. If set to zero, transfer decoding will be disabled, if set to 1 it is enabled (default). libcurl does chunked transfer decoding by default unless this option is set to zero. (added in 7.16.2) .IP CURLOPT_EXPECT_100_TIMEOUT_MS Pass a long to tell libcurl the number of milliseconds to wait for a server response with the HTTP status 100 (Continue), 417 (Expectation Failed) or similar after sending a HTTP request containing an Expect: 100-continue header. If this times out before a response is received, the request body is sent anyway. By default, libcurl waits 1000 milliseconds. (Added in 7.36.0) .SH SMTP OPTIONS .IP CURLOPT_MAIL_FROM Pass a pointer to a zero terminated string as parameter. This should be used Loading
docs/libcurl/symbols-in-versions +1 −0 Original line number Diff line number Diff line Loading @@ -341,6 +341,7 @@ CURLOPT_DNS_USE_GLOBAL_CACHE 7.9.3 7.11.1 CURLOPT_EGDSOCKET 7.7 CURLOPT_ENCODING 7.10 CURLOPT_ERRORBUFFER 7.1 CURLOPT_EXPECT_100_TIMEOUT_MS 7.36.0 CURLOPT_FAILONERROR 7.1 CURLOPT_FILE 7.1 7.9.7 CURLOPT_FILETIME 7.5 Loading
include/curl/curl.h +4 −0 Original line number Diff line number Diff line Loading @@ -1577,6 +1577,10 @@ typedef enum { /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */ CINIT(SSL_ENABLE_ALPN, LONG, 226), /* Time to wait for a response to a HTTP request containing an * Expect: 100-continue header before sending the data anyway. */ CINIT(EXPECT_100_TIMEOUT_MS, LONG, 227), CURLOPT_LASTENTRY /* the last unused */ } CURLoption; Loading
lib/transfer.c +3 −5 Original line number Diff line number Diff line Loading @@ -87,8 +87,6 @@ /* The last #include file should be: */ #include "memdebug.h" #define CURL_TIMEOUT_EXPECT_100 1000 /* counting ms here */ /* * This function will call the read callback to fill our buffer with data * to upload. Loading Loading @@ -839,7 +837,7 @@ static CURLcode readwrite_upload(struct SessionHandle *data, *didwhat &= ~KEEP_SEND; /* we didn't write anything actually */ /* set a timeout for the multi interface */ Curl_expire(data, CURL_TIMEOUT_EXPECT_100); Curl_expire(data, data->set.expect_100_timeout); break; } Loading Loading @@ -1075,7 +1073,7 @@ CURLcode Curl_readwrite(struct connectdata *conn, */ long ms = Curl_tvdiff(k->now, k->start100); if(ms >= CURL_TIMEOUT_EXPECT_100) { if(ms >= data->set.expect_100_timeout) { /* we've waited long enough, continue anyway */ k->exp100 = EXP100_SEND_DATA; k->keepon |= KEEP_SEND; Loading Loading @@ -1969,7 +1967,7 @@ Curl_setup_transfer( /* Set a timeout for the multi interface. Add the inaccuracy margin so that we don't fire slightly too early and get denied to run. */ Curl_expire(data, CURL_TIMEOUT_EXPECT_100); Curl_expire(data, data->set.expect_100_timeout); } else { if(data->state.expect100header) Loading
lib/url.c +10 −0 Original line number Diff line number Diff line Loading @@ -565,6 +565,8 @@ CURLcode Curl_init_userdefined(struct UserDefined *set) set->ssl_enable_npn = TRUE; set->ssl_enable_alpn = TRUE; set->expect_100_timeout = 1000L; /* Wait for a second by default. */ return res; } Loading Loading @@ -1256,6 +1258,14 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, } break; case CURLOPT_EXPECT_100_TIMEOUT_MS: /* * Time to wait for a response to a HTTP request containing an * Expect: 100-continue header before sending the data anyway. */ data->set.expect_100_timeout = va_arg(param, long); break; #endif /* CURL_DISABLE_HTTP */ case CURLOPT_CUSTOMREQUEST: Loading