xref: /curl/tests/data/test358 (revision 3fd80c7b)
1<testcase>
2<info>
3<keywords>
4HTTP
5HTTP 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>
36http
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:%HTTPPORT/%TESTNUMBER" "http://%HOSTIP:%HTTPPORT/%TESTNUMBER"
48</command>
49<file name="%LOGDIR/altsvc-%TESTNUMBER">
50h2 %HOSTIP %HTTPPORT 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 %HTTPPORT h2 %HOSTIP %HTTP2PORT TIMESTAMP 0 0
92</file>
93</verify>
94</testcase>
95