diff options
author | Daniel Stenberg <daniel@haxx.se> | 2004-12-21 19:59:35 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2004-12-21 19:59:35 +0000 |
commit | 4ba1eb26fa6c4f19e28fd26158c2c6388f70e324 (patch) | |
tree | 8504999a941a8dc931f06b4d0c11571825080f99 | |
parent | 444f6427b8d561281498c3f782857a5818ad51c6 (diff) |
Added test case 217 that verified CURLINFO_HTTP_CONNECTCODE, and I made the
-w option support 'http_connect' to make it easier to verify!
-rw-r--r-- | CHANGES | 8 | ||||
-rw-r--r-- | docs/curl.1 | 4 | ||||
-rw-r--r-- | src/writeout.c | 8 | ||||
-rw-r--r-- | tests/data/Makefile.am | 2 | ||||
-rw-r--r-- | tests/data/test217 | 44 |
5 files changed, 65 insertions, 1 deletions
@@ -7,6 +7,14 @@ Changelog +Daniel (21 December 2004) +- Added test case 217 that verified CURLINFO_HTTP_CONNECTCODE, and I made the + -w option support 'http_connect' to make it easier to verify! + +- Fixed lib/select.c include order to build fine on FreeBSD + +- Fixed failf()'s reuse of the va_list variable that crashed on FreeBSD. + Version 7.12.3 (20 December 2004) Daniel (19 December 2004) diff --git a/docs/curl.1 b/docs/curl.1 index 03f334bb3..394b693a1 100644 --- a/docs/curl.1 +++ b/docs/curl.1 @@ -931,6 +931,10 @@ to follow location: headers. .B http_code The numerical code that was found in the last retrieved HTTP(S) page. .TP +.B http_connect +The numerical code that was found in the last response (from a proxy) to a +curl CONNECT request. (Added in 7.12.4) +.TP .B time_total The total time, in seconds, that the full operation lasted. The time will be displayed with millisecond resolution. diff --git a/src/writeout.c b/src/writeout.c index a7b8729ef..99a95ae36 100644 --- a/src/writeout.c +++ b/src/writeout.c @@ -52,6 +52,7 @@ typedef enum { VAR_SPEED_DOWNLOAD, VAR_SPEED_UPLOAD, VAR_HTTP_CODE, + VAR_HTTP_CODE_PROXY, VAR_HEADER_SIZE, VAR_REQUEST_SIZE, VAR_EFFECTIVE_URL, @@ -71,6 +72,7 @@ struct variable { static const struct variable replacements[]={ {"url_effective", VAR_EFFECTIVE_URL}, {"http_code", VAR_HTTP_CODE}, + {"http_connect", VAR_HTTP_CODE_PROXY}, {"time_total", VAR_TOTAL_TIME}, {"time_namelookup", VAR_NAMELOOKUP_TIME}, {"time_connect", VAR_CONNECT_TIME}, @@ -127,6 +129,12 @@ void ourWriteOut(CURL *curl, char *writeinfo) curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &longinfo)) fprintf(stream, "%03ld", longinfo); break; + case VAR_HTTP_CODE_PROXY: + if(CURLE_OK == + curl_easy_getinfo(curl, CURLINFO_HTTP_CONNECTCODE, + &longinfo)) + fprintf(stream, "%03ld", longinfo); + break; case VAR_HEADER_SIZE: if(CURLE_OK == curl_easy_getinfo(curl, CURLINFO_HEADER_SIZE, &longinfo)) diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 41a9366a3..1e8de001d 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -30,7 +30,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test193 test194 test195 test196 test197 test198 test515 test516 \ test517 test518 test210 test211 test212 test220 test221 test222 \ test223 test224 test206 test207 test208 test209 test213 test240 \ - test241 test242 test519 test214 test215 test216 + test241 test242 test519 test214 test215 test216 test217 # The following tests have been removed from the dist since they no longer # work. We need to fix the test suite's FTPS server first, then bring them diff --git a/tests/data/test217 b/tests/data/test217 new file mode 100644 index 000000000..1b0c6a57f --- /dev/null +++ b/tests/data/test217 @@ -0,0 +1,44 @@ +# Server-side +<reply> + +# this is returned first since we get no proxy-auth +<data nocheck=1> +HTTP/1.1 405 Method Not Allowed swsclose
+
+And you should ignore this data. +</data> + +</reply> + +# Client-side +<client> +<server> +http +</server> + <name> +HTTP proxy CONNECT to proxy returning 405 + </name> + <command> +http://test.remote.server.com:217/path/2170002 --proxy http://%HOSTIP:%HTTPPORT --proxytunnel -w '%{http_code} %{http_connect}\n' +</command> +</test> + +# Verify data after the test has been "shot" +<verify> +<strip> +^User-Agent: curl/.* +</strip> +<protocol> +CONNECT test.remote.server.com:217 HTTP/1.0
+
+</protocol> +# CURLE_RECV_ERROR +<errorcode> +56 +</errorcode> +<stdout> +HTTP/1.1 405 Method Not Allowed swsclose
+
+000 405 +</stdout> +</verify> |