Re: [PATCH v2 1/2] http: add option to enable 100 Continue responses
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Oct 11, 2013, 23:43 UTC
- Message-ID
- <20131011234307.GU9464@google.com>
- In-Reply-To
- <1381530945-90590-2-git-send-email-sandals@crustytoothpaste.net>
brian m. carlson wrote:
Show 12 quoted lines
> When using GSS-Negotiate authentication with libcurl, the authentication > provided will change every time, and so the probe that git uses to determine if > authentication is needed is not sufficient to guarantee that data can be sent. > If the data fits entirely in http.postBuffer bytes, the data can be rewound and > resent if authentication fails; otherwise, a 100 Continue must be requested in > this case. > > By default, curl will send an Expect: 100-continue if a certain amount of data > is to be uploaded, but when using chunked data this is never triggered. Add an > option http.continue, which defaults to disabled, to control whether this header > is sent. The addition of an option is necessary because some proxies break > badly if sent this header.
"By default" means "when allowed to make its own choice", right? (i.e., the behavior git never gave libcurl a chance to try :))
Makes sense.
[...]
Show 7 quoted lines
> --- a/http.c > +++ b/http.c > @@ -11,6 +11,7 @@ > int active_requests; > int http_is_verbose; > size_t http_post_buffer = 16 * LARGE_PACKET_MAX; > +int http_use_100_continue = 0;
Style: git tends to omit the '= 0' implicit for globals, since they are already 0 by default.
[...]
Show 11 quoted lines
> --- a/remote-curl.c > +++ b/remote-curl.c > @@ -470,7 +470,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:"); > + > + /* Force it either on or off, since curl will try to decide based on how > + * much data is to be uploaded and we want consistency. > + */
Style:
/* * Multi-line comments in git have the starting and ending comment * delimiters on their own lines, like this. */
Will make the fixups mentioned above, squash with documentation, and apply. Thanks.