1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP GET 6followlocation 7IPv6 8</keywords> 9</info> 10 11# 12# Server-side 13<reply> 14<data> 15HTTP/1.1 302 OK swsclose 16Location: http://[::1%259999]:%HTTP6PORT/moo/%TESTNUMBER0002 17Date: Thu, 31 Jul 2008 14:49:00 GMT 18Connection: close 19 20</data> 21<data2> 22HTTP/1.1 200 OK swsclose 23Date: Thu, 31 Jul 2008 14:49:00 GMT 24Connection: close 25 26body 27</data2> 28<datacheck> 29HTTP/1.1 302 OK swsclose 30Location: http://[::1%259999]:%HTTP6PORT/moo/%TESTNUMBER0002 31Date: Thu, 31 Jul 2008 14:49:00 GMT 32Connection: close 33 34HTTP/1.1 200 OK swsclose 35Date: Thu, 31 Jul 2008 14:49:00 GMT 36Connection: close 37 38body 39</datacheck> 40</reply> 41 42# 43# Client-side 44<client> 45# This test relies on the IPv6 scope field being ignored when connecting to 46# ipv6-localhost (i.e. [::1%259999] is treated as [::1]). Maybe this is a bit 47# dodgy, but it happens on all our test platforms but Windows so skip this 48# test there. This feature doesn't work on msys or Cygwin, so use a precheck 49# to skip those. 50<features> 51IPv6 52!win32 53</features> 54<server> 55http 56http-ipv6 57</server> 58<name> 59HTTP follow redirect from IPv4 to IPv6 with scope 60</name> 61<command> 62http://%HOSTIP:%HTTPPORT/we/are/all/twits/%TESTNUMBER -L 63</command> 64<precheck> 65%PERL -e "print 'Test is not supported on the Windows kernel' if ($^O eq 'MSWin32' || $^O eq 'msys' || $^O eq 'cygwin');" 66</precheck> 67</client> 68 69# 70# Verify data after the test has been "shot" 71<verify> 72<protocol> 73GET /we/are/all/twits/%TESTNUMBER HTTP/1.1 74Host: %HOSTIP:%HTTPPORT 75User-Agent: curl/%VERSION 76Accept: */* 77 78GET /moo/%TESTNUMBER0002 HTTP/1.1 79Host: %HOST6IP:%HTTP6PORT 80User-Agent: curl/%VERSION 81Accept: */* 82 83</protocol> 84</verify> 85</testcase> 86