1<testcase> 2<info> 3<keywords> 4HTTPS 5HTTPS GET 6Alt-Svc 7HTTP/2 8</keywords> 9</info> 10 11# 12# Server-side 13<reply> 14<data nocheck="yes"> 15HTTP/1.1 200 OK 16Date: Tue, 09 Nov 2010 14:49:00 GMT 17Content-Length: 6 18Connection: close 19Content-Type: text/html 20Funny-head: yesyes 21Alt-Svc: h2=":%HTTP2PORT", ma=315360000; persist=0 22 23-foo- 24</data> 25</reply> 26 27# 28# Client-side 29<client> 30<features> 31alt-svc 32Debug 33h2c 34</features> 35<server> 36https 37http/2 38</server> 39<name> 40HTTPS GET translated by alt-svc lookup to HTTP/2 GET 41</name> 42<setenv> 43# make debug-curl accept Alt-Svc over plain HTTP 44CURL_ALTSVC_HTTP="yeah" 45</setenv> 46<command> 47--http2 --alt-svc "%LOGDIR/altsvc-%TESTNUMBER" "http://%HOSTIP:%HTTPSPORT/%TESTNUMBER" "http://%HOSTIP:%HTTPSPORT/%TESTNUMBER" 48</command> 49<file name="%LOGDIR/altsvc-%TESTNUMBER"> 50h2 %HOSTIP %HTTPSPORT h2 %HOSTIP %HTTP2PORT "20290222 22:19:28" 0 0 51</file> 52 53</client> 54 55# 56# Verify data after the test has been "shot" 57<verify> 58<stdout> 59HTTP/1.1 101 Switching Protocols 60Connection: Upgrade 61Upgrade: h2c 62 63HTTP/2 200 64date: Tue, 09 Nov 2010 14:49:00 GMT 65content-length: 6 66content-type: text/html 67funny-head: yesyes 68alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0 69via: 1.1 nghttpx 70 71-foo- 72HTTP/2 200 73date: Tue, 09 Nov 2010 14:49:00 GMT 74content-length: 6 75content-type: text/html 76funny-head: yesyes 77alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0 78via: 1.1 nghttpx 79 80-foo- 81</stdout> 82<stripfile> 83s/^server: nghttpx.*\r?\n// 84# strip out the (dynamic) expire date from the file so that the rest 85# matches 86s/\"2([^\"]*)\"/TIMESTAMP/ 87</stripfile> 88<file name="%LOGDIR/altsvc-%TESTNUMBER" mode="text"> 89# Your alt-svc cache. https://curl.se/docs/alt-svc.html 90# This file was generated by libcurl! Edit at your own risk. 91h2 %HOSTIP %HTTPSPORT h2 %HOSTIP %HTTP2PORT TIMESTAMP 0 0 92</file> 93</verify> 94</testcase> 95