<testcase>
<info>
<keywords>
HTTP
verbose logs
flaky
</keywords>
</info>

# Server-side
<reply>
<data1>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 47

file contents should appear once for each file
</data1>
<data2>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 47

file contents should appear once for each file
</data2>
<data3>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 47

file contents should appear once for each file
</data3>
<data4>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 47

file contents should appear once for each file
</data4>
</reply>

# Client-side
<client>
<server>
http
</server>
<tool>
lib1510
</tool>
 <name>
HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)
 </name>
 <command>
http://%HOSTIP:%HTTPPORT/path/1510 %HOSTIP %HTTPPORT
</command>
</client>

# Verify data after the test has been "shot"
<verify>
<protocol>
GET /path/15100001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*

GET /path/15100002 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*

GET /path/15100003 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*

GET /path/15100004 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*

</protocol>
<strip>
^Host:.*
</strip>
<file name="log/stderr1510" mode="text">
* Connection #0 to host server1.example.com left intact
* Connection #1 to host server2.example.com left intact
* Connection #2 to host server3.example.com left intact
* Closing connection 0
* Connection #3 to host server4.example.com left intact
</file>
<stripfile>
$_ = '' if (($_ !~ /left intact/) && ($_ !~ /Closing connection/))
</stripfile>
</verify>
</testcase>
