<testcase>
<info>
<keywords>
HTTP
HTTP GET
IDN
followlocation
--resolve
--write-out
</keywords>
</info>

#
# Server-side
<reply>
<data nocheck="yes">
HTTP/1.1 302 OK swsbounce
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 9
Content-Type: text/plain
Location: ./%TESTNUMBER0001

redirect
</data>
<data1 nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 3
Content-Type: text/plain; charset=us-ascii

OK
</data1>
</reply>

#
# Client-side
<client>
<server>
http
</server>
<features>
idn
</features>
<setenv>
LC_ALL=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
</setenv>
<precheck>
perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");'
</precheck>
<name>
Connection reuse with IDN host name
</name>

<command>
http://åäö.se:%HTTPPORT/%TESTNUMBER --resolve xn--4cab6c.se:%HTTPPORT:%HOSTIP -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L
</command>
</client>

#
# Verify data after the test has been "shot"
<verify>
<protocol>
GET /%TESTNUMBER HTTP/1.1
Host: xn--4cab6c.se:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*

GET /%TESTNUMBER0001 HTTP/1.1
Host: xn--4cab6c.se:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*

</protocol>

<stdout>
HTTP/1.1 302 OK swsbounce
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 9
Content-Type: text/plain
Location: ./%TESTNUMBER0001

HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 3
Content-Type: text/plain; charset=us-ascii

OK
1
1
3
http://åäö.se:%HTTPPORT/%TESTNUMBER0001
text/plain; charset=us-ascii
200
</stdout>

</verify>
</testcase>
