aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/connect.c2
-rw-r--r--lib/getinfo.c6
-rw-r--r--lib/urldata.h2
3 files changed, 9 insertions, 1 deletions
diff --git a/lib/connect.c b/lib/connect.c
index 7343756b9..5d464acbd 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -784,5 +784,7 @@ CURLcode Curl_connecthost(struct connectdata *conn, /* context */
if(sockconn)
*sockconn = sockfd; /* the socket descriptor we've connected */
+ data->info.numconnects++; /* to track the number of connections made */
+
return CURLE_OK;
}
diff --git a/lib/getinfo.c b/lib/getinfo.c
index 88627d6e4..e554931a9 100644
--- a/lib/getinfo.c
+++ b/lib/getinfo.c
@@ -38,7 +38,7 @@
#include "memdebug.h"
/*
- * This is supposed to be called in the beginning of a permform() session
+ * This is supposed to be called in the beginning of a perform() session
* and should reset all session-info variables
*/
CURLcode Curl_initinfo(struct SessionHandle *data)
@@ -63,6 +63,7 @@ CURLcode Curl_initinfo(struct SessionHandle *data)
info->header_size = 0;
info->request_size = 0;
+ info->numconnects = 0;
return CURLE_OK;
}
@@ -170,6 +171,9 @@ CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...)
case CURLINFO_OS_ERRNO:
*param_longp = data->state.os_errno;
break;
+ case CURLINFO_NUM_CONNECTS:
+ *param_longp = data->info.numconnects;
+ break;
default:
return CURLE_BAD_FUNCTION_ARGUMENT;
}
diff --git a/lib/urldata.h b/lib/urldata.h
index 08db4d60e..764ca3c51 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -624,6 +624,8 @@ struct PureInfo {
long proxyauthavail;
long httpauthavail;
+ long numconnects; /* how many new connection did libcurl created */
+
char *contenttype; /* the content type of the object */
};