1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP GET 6DOH 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"> 18SFRUUC8xLjEgMjAwIE9LCkRhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UClNlcnZl 19cjogdGVzdC1zZXJ2ZXIvZmFrZQpDb25uZWN0aW9uOiBjbG9zZQpDb250ZW50LVR5cGU6IGFwcGxp 20Y2F0aW9uL2Rucy1tZXNzYWdlCkNvbnRlbnQtTGVuZ3RoOiA0OQoKAAABAAABAAEAAAAAA2Zvbwdl 21eGFtcGxlA2NvbQAAAQABwAwAAQABAAAANwAEfwAAAQ== 22</data1> 23<data> 24HTTP/1.1 200 OK 25Date: Thu, 09 Nov 2010 14:49:00 GMT 26Server: test-server/fake 27Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT 28ETag: "21025-dc7-39462498" 29Accept-Ranges: bytes 30Content-Length: 6 31Connection: close 32Content-Type: text/html 33Funny-head: yesyes 34 35-foo- 36</data> 37</reply> 38 39# 40# Client-side 41<client> 42<server> 43http 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> 53debug 54http/2 55</features> 56 <name> 57HTTP GET using DOH 58 </name> 59 <command> 60http://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> 71POST /21000001 HTTP/1.1 72Host: 127.0.0.1:8990 73Accept: */* 74Content-Type: application/dns-message 75Content-Length: 33 76 77fooexamplecomGET /2100 HTTP/1.1 78Host: foo.example.com:8990 79Accept: */* 80 81</protocol> 82</verify> 83</testcase> 84