tool_writeout: add new writeout variable, %{num_headers}

This variable gives the number of headers.

Closes #5947
This commit is contained in:
anio 2020-09-09 15:05:49 +00:00 committed by Daniel Stenberg
parent 4e66207c58
commit 0c1e767e83
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
14 changed files with 191 additions and 23 deletions

View file

@ -225,4 +225,4 @@ test2080 \
test2100 \
\
test3000 test3001 test3002 test3003 test3004 test3005 test3006 test3007 \
test3008 test3009 test3010 test3011 test3012 test3013
test3008 test3009 test3010 test3011 test3012 test3013 test3014 test3015

View file

@ -26,7 +26,7 @@ http
</server>
<name>
Check if %{scheme} returns HTTP
Check if %{http_version} returns 1.1
</name>
<command>
http://%HOSTIP:%HTTPPORT/1439 --write-out '%{http_version}'

58
tests/data/test3014 Normal file
View file

@ -0,0 +1,58 @@
<testcase>
<info>
<keywords>
HTTP
--write-out
</keywords>
</info>
# Server-side
<reply>
<data nocheck="yes">
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 9
Connection: close
Content-Type: text/plain
testdata
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
Check if %{num_headers} returns correct number of headers
</name>
<command>
http://%HOSTIP:%HTTPPORT/1439 --write-out '%{num_headers}'
</command>
</client>
# Verify data
<verify>
<stdout nonewline="yes">
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Content-Length: 9
Connection: close
Content-Type: text/plain
testdata
4
</stdout>
<protocol>
GET /1439 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</protocol>
<strip>
^User-Agent:.*
</strip>
</verify>
</testcase>

79
tests/data/test3015 Normal file
View file

@ -0,0 +1,79 @@
<testcase>
<info>
<keywords>
HTTP
HTTP GET
followlocation
chunked Transfer-Encoding
--write-out
</keywords>
</info>
#
# Server-side
<reply>
<data nocheck="yes">
HTTP/1.1 302 OK
Date: Sun, 13 Sep 2020 15:00 GMT
Content-Length: 8
Connection: close
Content-Type: text/plain
Location: ./30150001
monster
</data>
<data1 nocheck="yes">
HTTP/1.1 200 OK
Date: Sun, 13 Sep 2020 15:00 GMT
Transfer-Encoding: chunked
Connection: close
Content-Type: text/plain; charset=us-ascii
0007
bigger
0008
monster
0
</data1>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET -w num_headers with redirected fetch (2 connects)
</name>
<command>
http://%HOSTIP:%HTTPPORT/3015 -w "%{num_headers}\n" -L -o/dev/null
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /3015 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
GET /30150001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</protocol>
<stdout>
4
</stdout>
</verify>
</testcase>

View file

@ -61,7 +61,7 @@ Accept: */*
</protocol>
<stdout nonewline="yes">
{"url_effective":"http://%HOSTIP:%HTTPPORT/970","method":"GET","http_code":200,"response_code":200,"http_connect":0,"time_total":0.000013,"time_namelookup":0.000013,"time_connect":0.000013,"time_appconnect":0.000013,"time_pretransfer":0.000013,"time_starttransfer":0.000013,"size_header":4019,"size_request":4019,"size_download":445,"size_upload":0,"speed_download":13,"speed_upload":13,"content_type":"text/html","num_connects":1,"time_redirect":0.000013,"num_redirects":0,"ssl_verify_result":0,"proxy_ssl_verify_result":0,"filename_effective":"log/out970","remote_ip":"%HOSTIP","remote_port":%HTTPPORT,"local_ip":"127.0.0.1","local_port":13,"http_version":"1.1","scheme":"HTTP","curl_version":"curl-unit-test-fake-version"}
{"url_effective":"http://%HOSTIP:%HTTPPORT/970","method":"GET","http_code":200,"response_code":200,"num_headers":9,"http_connect":0,"time_total":0.000013,"time_namelookup":0.000013,"time_connect":0.000013,"time_appconnect":0.000013,"time_pretransfer":0.000013,"time_starttransfer":0.000013,"size_header":4019,"size_request":4019,"size_download":445,"size_upload":0,"speed_download":13,"speed_upload":13,"content_type":"text/html","num_connects":1,"time_redirect":0.000013,"num_redirects":0,"ssl_verify_result":0,"proxy_ssl_verify_result":0,"filename_effective":"log/out970","remote_ip":"%HOSTIP","remote_port":%HTTPPORT,"local_ip":"127.0.0.1","local_port":13,"http_version":"1.1","scheme":"HTTP","curl_version":"curl-unit-test-fake-version"}
</stdout>
</verify>
</testcase>