mirror of
https://github.com/curl/curl.git
synced 2026-08-26 01:33:33 +03:00
CURLMOPT_MAXCONNECTS: restore functionality
When a connection is no longer used, it is kept in the cache. If the cache is full, the oldest idle connection is closed. If no connection is idle, the current one is closed instead.
This commit is contained in:
parent
03577a355e
commit
bd1f170a5a
5 changed files with 325 additions and 12 deletions
95
tests/data/test1506
Normal file
95
tests/data/test1506
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
<testcase>
|
||||
<info>
|
||||
<keywords>
|
||||
HTTP
|
||||
multi
|
||||
</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>
|
||||
lib1506
|
||||
</tool>
|
||||
<name>
|
||||
HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)
|
||||
</name>
|
||||
<command>
|
||||
http://%HOSTIP:%HTTPPORT/path/1506 %HOSTIP %HTTPPORT
|
||||
</command>
|
||||
</client>
|
||||
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<protocol>
|
||||
GET /path/15060001 HTTP/1.1
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
Accept: */*
|
||||
|
||||
GET /path/15060002 HTTP/1.1
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
Accept: */*
|
||||
|
||||
GET /path/15060003 HTTP/1.1
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
Accept: */*
|
||||
|
||||
GET /path/15060004 HTTP/1.1
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
Accept: */*
|
||||
|
||||
</protocol>
|
||||
<strip>
|
||||
^Host:.*
|
||||
</strip>
|
||||
<file name="log/stderr1506" 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>
|
||||
Loading…
Add table
Add a link
Reference in a new issue