HTTP HTTP GET DOH # # Server-side # This is the DoH response for foo.example.com A 127.0.0.1. This requires that # the test server is accessible at that address! SFRUUC8xLjEgMjAwIE9LCkRhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UClNlcnZl cjogdGVzdC1zZXJ2ZXIvZmFrZQpDb25uZWN0aW9uOiBjbG9zZQpDb250ZW50LVR5cGU6IGFwcGxp Y2F0aW9uL2Rucy1tZXNzYWdlCkNvbnRlbnQtTGVuZ3RoOiA0OQoKAAABAAABAAEAAAAAA2Zvbwdl eGFtcGxlA2NvbQAAAQABwAwAAQABAAAANwAEfwAAAQ== HTTP/1.1 200 OK Date: Tue, 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- # # Client-side http # requires debug so that it can use the DoH server without https # requires IPv6 so that we can assume and compare both DoH requests Debug DoH IPv6 HTTP GET using DoH http://foo.example.com:%HTTPPORT/%TESTNUMBER --doh-url http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 # # Verify data after the test has been "shot" # To make the test ignore the order of the two outgoing DoH requests, strip # the family byte s/com\x00\x00(\x1c|\x01)/com-00-00!/g; POST /%TESTNUMBER0001 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* Content-Type: application/dns-message Content-Length: 33 %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 Host: %HOSTIP:%HTTPPORT Accept: */* Content-Type: application/dns-message Content-Length: 33 %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 Host: foo.example.com:%HTTPPORT User-Agent: curl/%VERSION Accept: */*