mirror of
https://github.com/curl/curl.git
synced 2026-08-25 17:03:31 +03:00
http: add CURLINFO_HTTP_VERSION and %{http_version}
Adds access to the effectively used http version to both libcurl and curl. Closes #799
This commit is contained in:
parent
4bffaad85f
commit
071c561394
7 changed files with 104 additions and 2 deletions
|
|
@ -5,7 +5,7 @@
|
|||
* | (__| |_| | _ <| |___
|
||||
* \___|\___/|_| \_\_____|
|
||||
*
|
||||
* Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
* Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
*
|
||||
* This software is licensed as described in the file COPYING, which
|
||||
* you should have received as part of this distribution. The terms
|
||||
|
|
@ -57,6 +57,7 @@ typedef enum {
|
|||
VAR_PRIMARY_PORT,
|
||||
VAR_LOCAL_IP,
|
||||
VAR_LOCAL_PORT,
|
||||
VAR_HTTP_VERSION,
|
||||
VAR_NUM_OF_VARS /* must be the last */
|
||||
} replaceid;
|
||||
|
||||
|
|
@ -95,6 +96,7 @@ static const struct variable replacements[]={
|
|||
{"remote_port", VAR_PRIMARY_PORT},
|
||||
{"local_ip", VAR_LOCAL_IP},
|
||||
{"local_port", VAR_LOCAL_PORT},
|
||||
{"http_version", VAR_HTTP_VERSION},
|
||||
{NULL, VAR_NONE}
|
||||
};
|
||||
|
||||
|
|
@ -278,6 +280,26 @@ void ourWriteOut(CURL *curl, struct OutStruct *outs, const char *writeinfo)
|
|||
&longinfo))
|
||||
fprintf(stream, "%ld", longinfo);
|
||||
break;
|
||||
case VAR_HTTP_VERSION:
|
||||
if(CURLE_OK ==
|
||||
curl_easy_getinfo(curl, CURLINFO_HTTP_VERSION,
|
||||
&longinfo)) {
|
||||
const char *version = "0";
|
||||
switch (longinfo) {
|
||||
case CURL_HTTP_VERSION_1_0:
|
||||
version = "1.0";
|
||||
break;
|
||||
case CURL_HTTP_VERSION_1_1:
|
||||
version = "1.1";
|
||||
break;
|
||||
case CURL_HTTP_VERSION_2_0:
|
||||
version = "2";
|
||||
break;
|
||||
}
|
||||
|
||||
fprintf(stream, version);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue