diff options
author | Christian Grothoff <christian@grothoff.org> | 2019-02-23 14:47:44 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2019-02-23 14:47:44 +0100 |
commit | 4a51e331051e3fa5be10f4962c3834b524f58ab0 (patch) | |
tree | ba13f0c488a7681ddc91aa1a71c31628110b4eb7 | |
parent | 3219c14674743302f943c3884e8383de4c4427e6 (diff) |
actually disable 100 continue
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/lib/exchange_api_curl_defaults.c | 21 | ||||
-rw-r--r-- | src/lib/exchange_api_handle.c | 5 |
3 files changed, 7 insertions, 22 deletions
@@ -1,3 +1,6 @@ +Sat Feb 23 14:47:12 CET 2019 + Actually disable 100 CONTINUE. -CG + Sun Aug 19 15:15:48 CEST 2018 Increase various limits and rework transaction scopes to improve scalability. -CG diff --git a/src/lib/exchange_api_curl_defaults.c b/src/lib/exchange_api_curl_defaults.c index 1a25e564e..3ac1dfdbe 100644 --- a/src/lib/exchange_api_curl_defaults.c +++ b/src/lib/exchange_api_curl_defaults.c @@ -55,26 +55,5 @@ TEL_curl_easy_get (const char *url) CURLOPT_TCP_FASTOPEN, 1L)); #endif - { - /* Unfortunately libcurl needs chunk to be alive until after - curl_easy_perform. To avoid manual cleanup, we keep - one static list here. */ - static struct curl_slist *chunk = NULL; - if (NULL == chunk) - { - /* With POST requests, we do not want to wait for the - "100 Continue" response, as our request bodies are usually - small and directy sending them saves us a round trip. - - Clearing the expect header like this disables libcurl's - default processing of the header. - - Disabling this header is safe for other HTTP methods, thus - we don't distinguish further before setting it. */ - chunk = curl_slist_append (chunk, "Expect:"); - } - GNUNET_assert (CURLE_OK == curl_easy_setopt (eh, CURLOPT_HTTPHEADER, chunk)); - } - return eh; } diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c index 158afd56f..986bcc4c1 100644 --- a/src/lib/exchange_api_handle.c +++ b/src/lib/exchange_api_handle.c @@ -1740,7 +1740,10 @@ TALER_EXCHANGE_connect TALER_LOG_DEBUG ("Connecting to the exchange (%s)\n", url); - + /* Disable 100 continue processing */ + GNUNET_break (GNUNET_OK == + GNUNET_CURL_append_header (ctx, + "Expect:")); exchange = GNUNET_new (struct TALER_EXCHANGE_Handle); exchange->ctx = ctx; exchange->url = GNUNET_strdup (url); |