1 <testcase> 2 <info> 3 <keywords> 4 HTTP 5 HTTP GET 6 DOH 7 </keywords> 8 </info> 9 10 # 11 # Server-side 12 <reply> 13 14 # This is the DOH response for foo.example.com A 127.0.0.1. This requries that 15 # the test server is accessable at that address! 16 17 <data1 base64="yes"> 18 SFRUUC8xLjEgMjAwIE9LCkRhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UClNlcnZl 19 cjogdGVzdC1zZXJ2ZXIvZmFrZQpDb25uZWN0aW9uOiBjbG9zZQpDb250ZW50LVR5cGU6IGFwcGxp 20 Y2F0aW9uL2Rucy1tZXNzYWdlCkNvbnRlbnQtTGVuZ3RoOiA0OQoKAAABAAABAAEAAAAAA2Zvbwdl 21 eGFtcGxlA2NvbQAAAQABwAwAAQABAAAANwAEfwAAAQ== 22 </data1> 23 <data> 24 HTTP/1.1 200 OK 25 Date: Thu, 09 Nov 2010 14:49:00 GMT 26 Server: test-server/fake 27 Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT 28 ETag: "21025-dc7-39462498" 29 Accept-Ranges: bytes 30 Content-Length: 6 31 Connection: close 32 Content-Type: text/html 33 Funny-head: yesyes 34 35 -foo- 36 </data> 37 </reply> 38 39 # 40 # Client-side 41 <client> 42 <server> 43 http 44 </server> 45 46 # this requires debug so that it can use the DOH server without https 47 48 # Forces IPv4 so that it only sends one DoH request, which is a little lame 49 # but avoids the problem when they get sent in different order and ruins our 50 # protocol check! 51 52 <features> 53 debug 54 http/2 55 </features> 56 <name> 57 HTTP GET using DOH 58 </name> 59 <command> 60 http://foo.example.com:%HTTPPORT/2100 -4 --doh-url http://%HOSTIP:%HTTPPORT/21000001 61 </command> 62 </client> 63 64 # 65 # Verify data after the test has been "shot" 66 <verify> 67 <strip> 68 ^User-Agent:.* 69 </strip> 70 <protocol> 71 POST /21000001 HTTP/1.1 72 Host: 127.0.0.1:8990 73 Accept: */* 74 Content-Type: application/dns-message 75 Content-Length: 33 76 77 fooexamplecomGET /2100 HTTP/1.1 78 Host: foo.example.com:8990 79 Accept: */* 80 81 </protocol> 82 </verify> 83 </testcase> 84