|  | <testcase> | 
|  | <info> | 
|  | <keywords> | 
|  | HTTPS | 
|  | HTTPS GET | 
|  | Alt-Svc | 
|  | HTTP/2 | 
|  | </keywords> | 
|  | </info> | 
|  |  | 
|  | # | 
|  | # Server-side | 
|  | <reply> | 
|  | <data nocheck="yes"> | 
|  | HTTP/1.1 200 OK | 
|  | Date: Tue, 09 Nov 2010 14:49:00 GMT | 
|  | Content-Length: 6 | 
|  | Connection: close | 
|  | Content-Type: text/html | 
|  | Funny-head: yesyes | 
|  | Alt-Svc: h2=":%HTTP2PORT", ma=315360000; persist=0 | 
|  |  | 
|  | -foo- | 
|  | </data> | 
|  | </reply> | 
|  |  | 
|  | # | 
|  | # Client-side | 
|  | <client> | 
|  | <features> | 
|  | alt-svc | 
|  | debug | 
|  | h2c | 
|  | </features> | 
|  | <server> | 
|  | https | 
|  | http/2 | 
|  | </server> | 
|  | <name> | 
|  | HTTPS GET translated by alt-svc lookup to HTTP/2 GET | 
|  | </name> | 
|  | <setenv> | 
|  | # make debug-curl accept Alt-Svc over plain HTTP | 
|  | CURL_ALTSVC_HTTP="yeah" | 
|  | </setenv> | 
|  | <command> | 
|  | --http2 --alt-svc "log/altsvc-%TESTNUMBER" "http://%HOSTIP:%HTTPSPORT/%TESTNUMBER" "http://%HOSTIP:%HTTPSPORT/%TESTNUMBER" | 
|  | </command> | 
|  | <file name="log/altsvc-%TESTNUMBER"> | 
|  | h2 %HOSTIP %HTTPSPORT h2 %HOSTIP %HTTP2PORT "20290222 22:19:28" 0 0 | 
|  | </file> | 
|  |  | 
|  | </client> | 
|  |  | 
|  | # | 
|  | # Verify data after the test has been "shot" | 
|  | <verify> | 
|  | <stdout> | 
|  | HTTP/1.1 101 Switching Protocols | 
|  | Connection: Upgrade | 
|  | Upgrade: h2c | 
|  |  | 
|  | HTTP/2 200 | 
|  | date: Tue, 09 Nov 2010 14:49:00 GMT | 
|  | content-length: 6 | 
|  | content-type: text/html | 
|  | funny-head: yesyes | 
|  | alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0 | 
|  | via: 1.1 nghttpx | 
|  |  | 
|  | -foo- | 
|  | HTTP/2 200 | 
|  | date: Tue, 09 Nov 2010 14:49:00 GMT | 
|  | content-length: 6 | 
|  | content-type: text/html | 
|  | funny-head: yesyes | 
|  | alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0 | 
|  | via: 1.1 nghttpx | 
|  |  | 
|  | -foo- | 
|  | </stdout> | 
|  | <stripfile> | 
|  | s/^server: nghttpx.*\r?\n// | 
|  | # strip out the (dynamic) expire date from the file so that the rest | 
|  | # matches | 
|  | s/\"2([^\"]*)\"/TIMESTAMP/ | 
|  | </stripfile> | 
|  | <file name="log/altsvc-%TESTNUMBER" mode="text"> | 
|  | # Your alt-svc cache. https://curl.se/docs/alt-svc.html | 
|  | # This file was generated by libcurl! Edit at your own risk. | 
|  | h2 %HOSTIP %HTTPSPORT h2 %HOSTIP %HTTP2PORT TIMESTAMP 0 0 | 
|  | </file> | 
|  | </verify> | 
|  | </testcase> |