зеркало из https://github.com/microsoft/git.git
Merge branch 'bw/remote-curl-compressed-responses'
Our HTTP client code used to advertise that we accept gzip encoding from the other side; instead, just let cURL library to advertise and negotiate the best one. * bw/remote-curl-compressed-responses: remote-curl: accept compressed responses with protocol v2 remote-curl: accept all encodings supported by curl
This commit is contained in:
Коммит
13e8be95db
2
http.c
2
http.c
|
@ -1788,7 +1788,7 @@ static int http_request(const char *url,
|
|||
|
||||
curl_easy_setopt(slot->curl, CURLOPT_URL, url);
|
||||
curl_easy_setopt(slot->curl, CURLOPT_HTTPHEADER, headers);
|
||||
curl_easy_setopt(slot->curl, CURLOPT_ENCODING, "gzip");
|
||||
curl_easy_setopt(slot->curl, CURLOPT_ENCODING, "");
|
||||
|
||||
ret = run_one_slot(slot, &results);
|
||||
|
||||
|
|
|
@ -684,7 +684,7 @@ retry:
|
|||
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 0);
|
||||
curl_easy_setopt(slot->curl, CURLOPT_POST, 1);
|
||||
curl_easy_setopt(slot->curl, CURLOPT_URL, rpc->service_url);
|
||||
curl_easy_setopt(slot->curl, CURLOPT_ENCODING, "gzip");
|
||||
curl_easy_setopt(slot->curl, CURLOPT_ENCODING, "");
|
||||
|
||||
if (large_request) {
|
||||
/* The request body is large and the size cannot be predicted.
|
||||
|
@ -1259,6 +1259,7 @@ static int proxy_request(struct proxy_state *p)
|
|||
|
||||
slot = get_active_slot();
|
||||
|
||||
curl_easy_setopt(slot->curl, CURLOPT_ENCODING, "");
|
||||
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 0);
|
||||
curl_easy_setopt(slot->curl, CURLOPT_POST, 1);
|
||||
curl_easy_setopt(slot->curl, CURLOPT_URL, p->service_url);
|
||||
|
|
|
@ -26,14 +26,14 @@ setup_askpass_helper
|
|||
cat >exp <<EOF
|
||||
> GET /smart/repo.git/info/refs?service=git-upload-pack HTTP/1.1
|
||||
> Accept: */*
|
||||
> Accept-Encoding: gzip
|
||||
> Accept-Encoding: ENCODINGS
|
||||
> Pragma: no-cache
|
||||
< HTTP/1.1 200 OK
|
||||
< Pragma: no-cache
|
||||
< Cache-Control: no-cache, max-age=0, must-revalidate
|
||||
< Content-Type: application/x-git-upload-pack-advertisement
|
||||
> POST /smart/repo.git/git-upload-pack HTTP/1.1
|
||||
> Accept-Encoding: gzip
|
||||
> Accept-Encoding: ENCODINGS
|
||||
> Content-Type: application/x-git-upload-pack-request
|
||||
> Accept: application/x-git-upload-pack-result
|
||||
> Content-Length: xxx
|
||||
|
@ -79,8 +79,13 @@ test_expect_success 'clone http repository' '
|
|||
/^< Date: /d
|
||||
/^< Content-Length: /d
|
||||
/^< Transfer-Encoding: /d
|
||||
" >act &&
|
||||
test_cmp exp act
|
||||
" >actual &&
|
||||
sed -e "s/^> Accept-Encoding: .*/> Accept-Encoding: ENCODINGS/" \
|
||||
actual >actual.smudged &&
|
||||
test_cmp exp actual.smudged &&
|
||||
|
||||
grep "Accept-Encoding:.*gzip" actual >actual.gzip &&
|
||||
test_line_count = 2 actual.gzip
|
||||
'
|
||||
|
||||
test_expect_success 'fetch changes via http' '
|
||||
|
|
Загрузка…
Ссылка в новой задаче