<testcase> <info> <keywords> HTTP HTTP GET DOH </keywords> </info> # # Server-side <reply> # This is the DOH response for foo.example.com A 127.0.0.1. This requries that # the test server is accessable at that address! <data1 base64="yes"> SFRUUC8xLjEgMjAwIE9LCkRhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UClNlcnZl cjogdGVzdC1zZXJ2ZXIvZmFrZQpDb25uZWN0aW9uOiBjbG9zZQpDb250ZW50LVR5cGU6IGFwcGxp Y2F0aW9uL2Rucy1tZXNzYWdlCkNvbnRlbnQtTGVuZ3RoOiA0OQoKAAABAAABAAEAAAAAA2Zvbwdl eGFtcGxlA2NvbQAAAQABwAwAAQABAAAANwAEfwAAAQ== </data1> <data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo- </data> </reply> # # Client-side <client> <server> http </server> # this requires debug so that it can use the DOH server without https # Forces IPv4 so that it only sends one DoH request, which is a little lame # but avoids the problem when they get sent in different order and ruins our # protocol check! <features> debug http/2 </features> <name> HTTP GET using DOH </name> <command> http://foo.example.com:%HTTPPORT/2100 -4 --doh-url http://%HOSTIP:%HTTPPORT/21000001 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> POST /21000001 HTTP/1.1 Host: 127.0.0.1:8990 Accept: */* Content-Type: application/dns-message Content-Length: 33 fooexamplecom GET /2100 HTTP/1.1 Host: foo.example.com:8990 Accept: */* </protocol> </verify> </testcase>