curl-curl/tests/data/test2402
Stefan Eissing b453a447ce
connection: terminate after goaway
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
2025-07-27 22:49:12 +02:00

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>