Loading docs/libcurl/curl_easy_setopt.3 +6 −0 Original line number Original line 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 transfer decoding will be disabled, if set to 1 it is enabled (default). libcurl does chunked transfer decoding by default unless this (default). libcurl does chunked transfer decoding by default unless this option is set to zero. (added in 7.16.2) 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 .SH SMTP OPTIONS .IP CURLOPT_MAIL_FROM .IP CURLOPT_MAIL_FROM Pass a pointer to a zero terminated string as parameter. This should be used 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 Original line 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_EGDSOCKET 7.7 CURLOPT_ENCODING 7.10 CURLOPT_ENCODING 7.10 CURLOPT_ERRORBUFFER 7.1 CURLOPT_ERRORBUFFER 7.1 CURLOPT_EXPECT_100_TIMEOUT_MS 7.36.0 CURLOPT_FAILONERROR 7.1 CURLOPT_FAILONERROR 7.1 CURLOPT_FILE 7.1 7.9.7 CURLOPT_FILE 7.1 7.9.7 CURLOPT_FILETIME 7.5 CURLOPT_FILETIME 7.5 Loading include/curl/curl.h +4 −0 Original line number Original line Diff line number Diff line Loading @@ -1577,6 +1577,10 @@ typedef enum { /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */ /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */ CINIT(SSL_ENABLE_ALPN, LONG, 226), 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 */ CURLOPT_LASTENTRY /* the last unused */ } CURLoption; } CURLoption; Loading lib/transfer.c +3 −5 Original line number Original line Diff line number Diff line Loading @@ -87,8 +87,6 @@ /* The last #include file should be: */ /* The last #include file should be: */ #include "memdebug.h" #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 * This function will call the read callback to fill our buffer with data * to upload. * to upload. Loading Loading @@ -839,7 +837,7 @@ static CURLcode readwrite_upload(struct SessionHandle *data, *didwhat &= ~KEEP_SEND; /* we didn't write anything actually */ *didwhat &= ~KEEP_SEND; /* we didn't write anything actually */ /* set a timeout for the multi interface */ /* set a timeout for the multi interface */ Curl_expire(data, CURL_TIMEOUT_EXPECT_100); Curl_expire(data, data->set.expect_100_timeout); break; break; } } Loading Loading @@ -1075,7 +1073,7 @@ CURLcode Curl_readwrite(struct connectdata *conn, */ */ long ms = Curl_tvdiff(k->now, k->start100); 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 */ /* we've waited long enough, continue anyway */ k->exp100 = EXP100_SEND_DATA; k->exp100 = EXP100_SEND_DATA; k->keepon |= KEEP_SEND; 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 /* 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. */ 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 { else { if(data->state.expect100header) if(data->state.expect100header) Loading lib/url.c +10 −0 Original line number Original line 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_npn = TRUE; set->ssl_enable_alpn = TRUE; set->ssl_enable_alpn = TRUE; set->expect_100_timeout = 1000L; /* Wait for a second by default. */ return res; return res; } } Loading Loading @@ -1256,6 +1258,14 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, } } break; 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 */ #endif /* CURL_DISABLE_HTTP */ case CURLOPT_CUSTOMREQUEST: case CURLOPT_CUSTOMREQUEST: Loading Loading
docs/libcurl/curl_easy_setopt.3 +6 −0 Original line number Original line 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 transfer decoding will be disabled, if set to 1 it is enabled (default). libcurl does chunked transfer decoding by default unless this (default). libcurl does chunked transfer decoding by default unless this option is set to zero. (added in 7.16.2) 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 .SH SMTP OPTIONS .IP CURLOPT_MAIL_FROM .IP CURLOPT_MAIL_FROM Pass a pointer to a zero terminated string as parameter. This should be used 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 Original line 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_EGDSOCKET 7.7 CURLOPT_ENCODING 7.10 CURLOPT_ENCODING 7.10 CURLOPT_ERRORBUFFER 7.1 CURLOPT_ERRORBUFFER 7.1 CURLOPT_EXPECT_100_TIMEOUT_MS 7.36.0 CURLOPT_FAILONERROR 7.1 CURLOPT_FAILONERROR 7.1 CURLOPT_FILE 7.1 7.9.7 CURLOPT_FILE 7.1 7.9.7 CURLOPT_FILETIME 7.5 CURLOPT_FILETIME 7.5 Loading
include/curl/curl.h +4 −0 Original line number Original line Diff line number Diff line Loading @@ -1577,6 +1577,10 @@ typedef enum { /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */ /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */ CINIT(SSL_ENABLE_ALPN, LONG, 226), 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 */ CURLOPT_LASTENTRY /* the last unused */ } CURLoption; } CURLoption; Loading
lib/transfer.c +3 −5 Original line number Original line Diff line number Diff line Loading @@ -87,8 +87,6 @@ /* The last #include file should be: */ /* The last #include file should be: */ #include "memdebug.h" #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 * This function will call the read callback to fill our buffer with data * to upload. * to upload. Loading Loading @@ -839,7 +837,7 @@ static CURLcode readwrite_upload(struct SessionHandle *data, *didwhat &= ~KEEP_SEND; /* we didn't write anything actually */ *didwhat &= ~KEEP_SEND; /* we didn't write anything actually */ /* set a timeout for the multi interface */ /* set a timeout for the multi interface */ Curl_expire(data, CURL_TIMEOUT_EXPECT_100); Curl_expire(data, data->set.expect_100_timeout); break; break; } } Loading Loading @@ -1075,7 +1073,7 @@ CURLcode Curl_readwrite(struct connectdata *conn, */ */ long ms = Curl_tvdiff(k->now, k->start100); 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 */ /* we've waited long enough, continue anyway */ k->exp100 = EXP100_SEND_DATA; k->exp100 = EXP100_SEND_DATA; k->keepon |= KEEP_SEND; 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 /* 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. */ 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 { else { if(data->state.expect100header) if(data->state.expect100header) Loading
lib/url.c +10 −0 Original line number Original line 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_npn = TRUE; set->ssl_enable_alpn = TRUE; set->ssl_enable_alpn = TRUE; set->expect_100_timeout = 1000L; /* Wait for a second by default. */ return res; return res; } } Loading Loading @@ -1256,6 +1258,14 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, } } break; 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 */ #endif /* CURL_DISABLE_HTTP */ case CURLOPT_CUSTOMREQUEST: case CURLOPT_CUSTOMREQUEST: Loading