diff --git a/lib/getinfo.c b/lib/getinfo.c index 9bd737020..a4b0fa602 100644 --- a/lib/getinfo.c +++ b/lib/getinfo.c @@ -106,6 +106,9 @@ CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...) case CURLINFO_HTTP_CODE: *param_longp = data->info.httpcode; break; + case CURLINFO_HTTP_CONNECTCODE: + *param_longp = data->info.httpproxycode; + break; case CURLINFO_FILETIME: *param_longp = data->info.filetime; break; diff --git a/lib/http.c b/lib/http.c index 35f795725..90dc5a63b 100644 --- a/lib/http.c +++ b/lib/http.c @@ -556,6 +556,8 @@ CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn, if(error) return CURLE_RECV_ERROR; + data->info.httpproxycode = httperror; + if(200 != httperror) { if(407 == httperror) /* Added Nov 6 1998 */ diff --git a/lib/urldata.h b/lib/urldata.h index a8c8dd13f..2592357d2 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -566,6 +566,7 @@ struct connectdata { */ struct PureInfo { int httpcode; + int httpproxycode; int httpversion; long filetime; /* If requested, this is might get set. Set to -1 if the time was unretrievable. We cannot have this of type time_t,