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
109 lines
2.0 KiB
Plaintext
109 lines
2.0 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP/2
|
|
multi
|
|
verbose logs
|
|
</keywords>
|
|
</info>
|
|
|
|
# Server-side
|
|
<reply>
|
|
<data1 crlf="yes">
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: server.example.com
|
|
Content-Length: 47
|
|
|
|
file contents should appear once for each file
|
|
</data1>
|
|
<data2>
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: server.example.com
|
|
Content-Length: 47
|
|
|
|
file contents should appear once for each file
|
|
</data2>
|
|
<data3>
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: server.example.com
|
|
Content-Length: 47
|
|
|
|
file contents should appear once for each file
|
|
</data3>
|
|
<data4>
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: server.example.com
|
|
Content-Length: 47
|
|
|
|
file contents should appear once for each file
|
|
</data4>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<features>
|
|
http/2
|
|
SSL
|
|
</features>
|
|
<server>
|
|
http/2
|
|
</server>
|
|
<tool>
|
|
lib%TESTNUMBER
|
|
</tool>
|
|
<name>
|
|
HTTP GET multiple files over HTTP/2 using HTTPS
|
|
</name>
|
|
<command>
|
|
https://%HOSTIP:%HTTP2TLSPORT/path/%TESTNUMBER %HOSTIP %HTTP2TLSPORT
|
|
</command>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<protocol crlf="yes">
|
|
GET /path/%TESTNUMBER0001 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
X-Forwarded-Proto: https
|
|
Via: 2 nghttpx
|
|
|
|
GET /path/%TESTNUMBER0002 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
X-Forwarded-Proto: https
|
|
Via: 2 nghttpx
|
|
|
|
GET /path/%TESTNUMBER0003 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
X-Forwarded-Proto: https
|
|
Via: 2 nghttpx
|
|
|
|
GET /path/%TESTNUMBER0004 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
X-Forwarded-Proto: https
|
|
Via: 2 nghttpx
|
|
|
|
</protocol>
|
|
<strip>
|
|
^Host:.*
|
|
</strip>
|
|
<file name="%LOGDIR/stderr%TESTNUMBER" mode="text">
|
|
* Connection #0 to host localhost:%HTTP2TLSPORT left intact
|
|
* Connection #0 to host localhost:%HTTP2TLSPORT left intact
|
|
* Connection #0 to host localhost:%HTTP2TLSPORT left intact
|
|
* Connection #0 to host localhost:%HTTP2TLSPORT left intact
|
|
</file>
|
|
<stripfile>
|
|
$_ = '' if(($_ !~ /left intact/) && ($_ !~ /Closing connection/))
|
|
</stripfile>
|
|
</verify>
|
|
</testcase>
|