<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 requires that
# the test server is accessible 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
DoH
</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: %HOSTIP:%HTTPPORT
Accept: */*
Content-Type: application/dns-message
Content-Length: 33

          fooexamplecom   GET /2100 HTTP/1.1
Host: foo.example.com:%HTTPPORT
Accept: */*

</protocol>
</verify>
</testcase>
