aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2011-03-14 11:28:17 -0700
committerJunio C Hamano <gitster@pobox.com>2011-03-14 11:58:51 -0700
commit959dfcf42f264e8644d88b355224ff468ebae10d (patch)
treea3965d1fd9b7c09c1dfd8b3b726a26c04e18b902
parent206b099d269955337bd6169f71aa08ba28a0cf4f (diff)
downloadgit-959dfcf42f264e8644d88b355224ff468ebae10d.tar.gz
git-959dfcf42f264e8644d88b355224ff468ebae10d.tar.xz
smart-http: Really never use Expect: 100-continue
libcurl may choose to try and use Expect: 100-continue for any type of POST, not just a Transfer: chunked-encoding type. Force it to disable this feature, as not all proxy servers support 100-continue and leaving it enabled can cause 1 second stalls during the negotiation phase of fetch-pack/upload-pack. In ("206b099d26 smart-http: Don't use Expect: 100-Continue") we tried to disable this for only large POST bodies, but it should be disabled for every POST body. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--remote-curl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/remote-curl.c b/remote-curl.c
index 256326afb..1f41a9093 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -453,12 +453,12 @@ static int post_rpc(struct rpc_state *rpc)
headers = curl_slist_append(headers, rpc->hdr_content_type);
headers = curl_slist_append(headers, rpc->hdr_accept);
+ headers = curl_slist_append(headers, "Expect:");
if (large_request) {
/* The request body is large and the size cannot be predicted.
* We must use chunked encoding to send it.
*/
- headers = curl_slist_append(headers, "Expect:");
headers = curl_slist_append(headers, "Transfer-Encoding: chunked");
rpc->initial_buffer = 1;
curl_easy_setopt(slot->curl, CURLOPT_READFUNCTION, rpc_out);