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 requires that 15# the test server is accessible at that address! 16 17<data1 base64="yes"> 18SFRUUC8xLjEgMjAwIE9LCkRhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UClNlcnZl 19cjogdGVzdC1zZXJ2ZXIvZmFrZQpDb25uZWN0aW9uOiBjbG9zZQpDb250ZW50LVR5cGU6IGFwcGxp 20Y2F0aW9uL2Rucy1tZXNzYWdlCkNvbnRlbnQtTGVuZ3RoOiA0OQoKAAABAAABAAEAAAAAA2Zvbwdl 21eGFtcGxlA2NvbQAAAQABwAwAAQABAAAANwAEfwAAAQ== 22</data1> 23<data> 24HTTP/1.1 200 OK 25Date: Tue, 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# requires debug so that it can use the DoH server without https 47# requires IPv6 so that we can assume and compare both DoH requests 48 49<features> 50Debug 51DoH 52IPv6 53</features> 54<name> 55HTTP GET using DoH 56</name> 57<command> 58http://foo.example.com:%HTTPPORT/%TESTNUMBER --doh-url http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 59</command> 60</client> 61 62# 63# Verify data after the test has been "shot" 64<verify> 65 66# To make the test ignore the order of the two outgoing DoH requests, strip 67# the family byte 68 69<strippart> 70s/com\x00\x00(\x1c|\x01)/com-00-00!/g; 71</strippart> 72<protocol> 73POST /%TESTNUMBER0001 HTTP/1.1 74Host: %HOSTIP:%HTTPPORT 75Accept: */* 76Content-Type: application/dns-message 77Content-Length: 33 78 79%hex[%00%00%01%00%00%01%00%00%00%00%00%00%03foo%07example%03com-00-00!%00%01]hex%POST /%TESTNUMBER0001 HTTP/1.1 80Host: %HOSTIP:%HTTPPORT 81Accept: */* 82Content-Type: application/dns-message 83Content-Length: 33 84 85%hex[%00%00%01%00%00%01%00%00%00%00%00%00%03foo%07example%03com-00-00!%00%01]hex%GET /%TESTNUMBER HTTP/1.1 86Host: foo.example.com:%HTTPPORT 87User-Agent: curl/%VERSION 88Accept: */* 89 90</protocol> 91</verify> 92</testcase> 93