1<testcase>
2<info>
3<keywords>
4HTTP
5HTTPS
6HTTP GET
7followlocation
8</keywords>
9</info>
10
11# Server-side
12<reply>
13<data>
14HTTP/1.1 301 This is a weirdo text message swsclose
15Date: Thu, 09 Nov 2010 14:49:00 GMT
16Server: test-server/fake
17Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes
18Connection: close
19
20This server reply is for testing a simple Location: following to HTTPS URL
21
22</data>
23<data2>
24HTTP/1.1 200 Followed here fine swsclose
25Date: Thu, 09 Nov 2010 14:49:00 GMT
26Server: test-server/fake
27Content-Length: 52
28
29If this is received, the location following worked
30
31</data2>
32<datacheck>
33HTTP/1.1 301 This is a weirdo text message swsclose
34Date: Thu, 09 Nov 2010 14:49:00 GMT
35Server: test-server/fake
36Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes
37Connection: close
38
39HTTP/1.1 200 Followed here fine swsclose
40Date: Thu, 09 Nov 2010 14:49:00 GMT
41Server: test-server/fake
42Content-Length: 52
43
44If this is received, the location following worked
45
46</datacheck>
47</reply>
48
49# Client-side
50<client>
51<features>
52SSL
53</features>
54<server>
55http
56https
57</server>
58 <name>
59HTTP Location: redirect to HTTPS URL
60 </name>
61 <command>
62-k http://%HOSTIP:%HTTPPORT/want/309 -L
63</command>
64# The data section doesn't do variable substitution, so we must assert this
65<precheck>
66perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%HTTPSPORT' ne '8991' );"
67</precheck>
68</client>
69
70# Verify data after the test has been "shot"
71<verify>
72<strip>
73^User-Agent:.*
74</strip>
75<protocol>
76GET /want/309 HTTP/1.1
77Host: %HOSTIP:%HTTPPORT
78Accept: */*
79
80GET /data/3090002.txt?coolsite=yes HTTP/1.1
81Host: %HOSTIP:%HTTPSPORT
82Accept: */*
83
84</protocol>
85</verify>
86</testcase>
87