From b4a39491cacde68c9ed5499db7fcc873976e1879 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 14 Dec 2015 13:29:13 +0100 Subject: curl --expect100-timeout: added This is the new command line option to set the value for the existing libcurl option CURLOPT_EXPECT_100_TIMEOUT_MS --- src/tool_cfgable.h | 1 + src/tool_getparam.c | 6 ++++++ src/tool_help.c | 1 + src/tool_operate.c | 5 +++++ 4 files changed, 13 insertions(+) (limited to 'src') diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h index 85b8bcfee..b92a273d1 100644 --- a/src/tool_cfgable.h +++ b/src/tool_cfgable.h @@ -214,6 +214,7 @@ struct OperationConfig { char *unix_socket_path; /* path to Unix domain socket */ bool falsestart; bool path_as_is; + double expect100timeout; struct GlobalConfig *global; struct OperationConfig *prev; struct OperationConfig *next; /* Always last in the struct */ diff --git a/src/tool_getparam.c b/src/tool_getparam.c index fd20cdc26..d123e231b 100644 --- a/src/tool_getparam.c +++ b/src/tool_getparam.c @@ -179,6 +179,7 @@ static const struct LongShort aliases[]= { {"$O", "proxy-service-name", TRUE}, {"$P", "service-name", TRUE}, {"$Q", "proto-default", TRUE}, + {"$R", "expect100-timeout", TRUE}, {"0", "http1.0", FALSE}, {"01", "http1.1", FALSE}, {"02", "http2", FALSE}, @@ -999,6 +1000,11 @@ ParameterError getparameter(char *flag, /* f or -long-flag */ if(err) return err; break; + case 'R': /* --expect100-timeout */ + err = str2udouble(&config->expect100timeout, nextarg); + if(err) + return err; + break; } break; case '#': /* --progress-bar */ diff --git a/src/tool_help.c b/src/tool_help.c index 4f569cde6..bbb2f66be 100644 --- a/src/tool_help.c +++ b/src/tool_help.c @@ -83,6 +83,7 @@ static const char *const helptext[] = { #ifdef USE_ENVIRONMENT " --environment Write results to environment variables (RISC OS)", #endif + " --expect100-timeout SECONDS How long to wait for 100-continue (H)", " -f, --fail Fail silently (no output at all) on HTTP errors (H)", " --false-start Enable TLS False Start.", " -F, --form CONTENT Specify HTTP multipart POST data (H)", diff --git a/src/tool_operate.c b/src/tool_operate.c index e5506c6fa..30d60cb33 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -1358,6 +1358,11 @@ static CURLcode operate_do(struct GlobalConfig *global, if(config->proto_default) my_setopt_str(curl, CURLOPT_DEFAULT_PROTOCOL, config->proto_default); + /* new in 7.47.0 */ + if(config->expect100timeout > 0) + my_setopt_str(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, + (long)(config->expect100timeout*1000)); + /* initialize retry vars for loop below */ retry_sleep_default = (config->retry_delay) ? config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */ -- cgit v1.2.3