[PATCH v6 0/1] http: add support selecting http version
- From
- Force.Charlie-I via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Nov 8, 2018, 07:00 UTC
- Message-ID
- <pull.69.v6.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.69.v5.git.gitgitgadget@gmail.com>
Usually we don't need to set libcurl to choose which version of the HTTP protocol to use to communicate with a server. But different versions of libcurl, the default value is not the same.
CURL >= 7.62.0: CURL_HTTP_VERSION_2TLS CURL < 7.62: CURL_HTTP_VERSION_1_1
In order to give users the freedom to control the HTTP version, we need to add a setting to choose which HTTP version to use.
This patch support force enable HTTP/2 or HTTP/1.1.
example:
GIT_CURL_VERBOSE=1 git2 -c http.version=HTTP/2 ls-remote https://bitbucket.org/aquariusjay/deeplab-public-ver2.git
Force Charlie (1): http: add support selecting http version
Documentation/config.txt | 9 +++++++++ http.c | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+)
base-commit: 8858448bb49332d353febc078ce4a3abcc962efe Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-69%2Ffcharlie%2Fmaster-v6 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-69/fcharlie/master-v6 Pull-Request: https://github.com/gitgitgadget/git/pull/69
Range-diff vs v5:
1: cdd93048ba ! 1: 93fda67198 http: add support selecting http version
@@ -2,8 +2,38 @@
http: add support selecting http version
+ Usually we don't need to set libcurl to choose which version of the
+ HTTP protocol to use to communicate with a server.
+ But different versions of libcurl, the default value is not the same.
+
+ CURL >= 7.62.0: CURL_HTTP_VERSION_2TLS
+ CURL < 7.62: CURL_HTTP_VERSION_1_1
+
+ In order to give users the freedom to control the HTTP version,
+ we need to add a setting to choose which HTTP version to use.
+
Signed-off-by: Force Charlie <charlieio@outlook.com>
+diff --git a/Documentation/config.txt b/Documentation/config.txt
+--- a/Documentation/config.txt
++++ b/Documentation/config.txt
+@@
+ If set, store cookies received during requests to the file specified by
+ http.cookieFile. Has no effect if http.cookieFile is unset.
+
++http.version::
++ Use the specified HTTP protocol version when communicating with a server.
++ If you want to force the default. The available and default version depend
++ on libcurl. Actually the possible values of
++ this option are:
++
++ - HTTP/2
++ - HTTP/1.1
++
+ http.sslVersion::
+ The SSL version to use when negotiating an SSL connection, if you
+ want to force the default. The available and default version
+
diff --git a/http.c b/http.c
--- a/http.c
+++ b/http.c-- gitgitgadget