From ba410f6c64af26292d1dc549829c25af5602fbf7 Mon Sep 17 00:00:00 2001 From: Frank Gevaerts Date: Wed, 23 Nov 2016 10:44:18 +0100 Subject: add CURLINFO_SCHEME, CURLINFO_PROTOCOL, and %{scheme} Adds access to the effectively used protocol/scheme to both libcurl and curl, both in string and numeric (CURLPROTO_*) form. Note that the string form will be uppercase, as it is just the internal string. As these strings are declared internally as const, and all other strings returned by curl_easy_getinfo() are de-facto const as well, string handling in getinfo.c got const-ified. Closes #1137 --- src/tool_writeout.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/tool_writeout.c b/src/tool_writeout.c index dfe86471e..3737df801 100644 --- a/src/tool_writeout.c +++ b/src/tool_writeout.c @@ -59,6 +59,7 @@ typedef enum { VAR_LOCAL_IP, VAR_LOCAL_PORT, VAR_HTTP_VERSION, + VAR_SCHEME, VAR_NUM_OF_VARS /* must be the last */ } replaceid; @@ -99,6 +100,7 @@ static const struct variable replacements[]={ {"local_ip", VAR_LOCAL_IP}, {"local_port", VAR_LOCAL_PORT}, {"http_version", VAR_HTTP_VERSION}, + {"scheme", VAR_SCHEME}, {NULL, VAR_NONE} }; @@ -308,6 +310,12 @@ void ourWriteOut(CURL *curl, struct OutStruct *outs, const char *writeinfo) fprintf(stream, version); } break; + case VAR_SCHEME: + if(CURLE_OK == + curl_easy_getinfo(curl, CURLINFO_SCHEME, + &stringp)) + fprintf(stream, "%s", stringp); + break; default: break; } -- cgit v1.2.3