mirror of
https://github.com/curl/curl.git
synced 2026-04-13 00:31:41 +08:00
When a multiplex connection (h2/h3) is shutdown by the server, the reported number of parallel transfers allowed drops to 0. Determine that when the last transfer is done and terminate the connection instead of keeping it in the cache. We detect the drop to 0 also when we try to reuse such a connection, but if we know this at the time the last transfer is done, we better terminate it right away. Have a consistent trace logging to this with the connections current hostname and port. Adjust test expectations to carry port numbers. Closes #17884
69 lines
1.2 KiB
Plaintext
69 lines
1.2 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
connection reuse
|
|
persistent connection
|
|
CURLOPT_MAXLIFETIME_CONN
|
|
verbose logs
|
|
</keywords>
|
|
</info>
|
|
|
|
# Server-side
|
|
<reply>
|
|
<data nocheck="yes">
|
|
HTTP/1.1 200 OK
|
|
Content-Length: 0
|
|
|
|
</data>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
http
|
|
</server>
|
|
<tool>
|
|
lib%TESTNUMBER
|
|
</tool>
|
|
<name>
|
|
connection reuse with CURLOPT_MAXLIFETIME_CONN
|
|
</name>
|
|
<command>
|
|
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
|
|
</command>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<protocol>
|
|
GET /%TESTNUMBER HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
|
|
GET /%TESTNUMBER HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
|
|
GET /%TESTNUMBER HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
|
|
GET /%TESTNUMBER HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
|
|
</protocol>
|
|
<file name="%LOGDIR/stderr%TESTNUMBER" mode="text">
|
|
== Info: Connection #0 to host %HOSTIP:%HTTPPORT left intact
|
|
== Info: Connection #0 to host %HOSTIP:%HTTPPORT left intact
|
|
== Info: Connection #0 to host %HOSTIP:%HTTPPORT left intact
|
|
== Info: shutting down connection #0
|
|
== Info: Connection #1 to host %HOSTIP:%HTTPPORT left intact
|
|
</file>
|
|
<stripfile>
|
|
$_ = '' if(($_ !~ /left intact/) && ($_ !~ /(closing|shutting down) connection #\d+/))
|
|
</stripfile>
|
|
</verify>
|
|
</testcase>
|