summaryrefslogtreecommitdiff
path: root/src/tool_writeout.c
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2016-11-23 10:44:18 +0100
committerDaniel Stenberg <daniel@haxx.se>2016-11-25 00:45:18 +0100
commitba410f6c64af26292d1dc549829c25af5602fbf7 (patch)
treec48cefe5f5626983fab185baeec1970a6c53f45f /src/tool_writeout.c
parent54789f94448e1a624f02cb4e4e739afe4a687656 (diff)
downloadcurl-ba410f6c64af26292d1dc549829c25af5602fbf7.tar.gz
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
Diffstat (limited to 'src/tool_writeout.c')
-rw-r--r--src/tool_writeout.c8
1 files changed, 8 insertions, 0 deletions
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;
}