Git init
[external/curl.git] / tests / data / test309
1 <testcase>
2 <info>
3 <keywords>
4 HTTP
5 HTTPS
6 HTTP GET
7 followlocation
8 </keywords>
9 </info>
10
11 # Server-side
12 <reply>
13 <data>
14 HTTP/1.1 301 This is a weirdo text message swsclose\r
15 Date: Thu, 09 Nov 2010 14:49:00 GMT\r
16 Server: test-server/fake\r
17 Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes\r
18 Connection: close\r
19 \r
20 This server reply is for testing a simple Location: following to HTTPS URL
21
22 </data>
23 <data2>
24 HTTP/1.1 200 Followed here fine swsclose\r
25 Date: Thu, 09 Nov 2010 14:49:00 GMT\r
26 Server: test-server/fake\r
27 Content-Length: 52\r
28 \r
29 If this is received, the location following worked
30
31 </data2>
32 <datacheck>
33 HTTP/1.1 301 This is a weirdo text message swsclose\r
34 Date: Thu, 09 Nov 2010 14:49:00 GMT\r
35 Server: test-server/fake\r
36 Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes\r
37 Connection: close\r
38 \r
39 HTTP/1.1 200 Followed here fine swsclose\r
40 Date: Thu, 09 Nov 2010 14:49:00 GMT\r
41 Server: test-server/fake\r
42 Content-Length: 52\r
43 \r
44 If this is received, the location following worked
45
46 </datacheck>
47 </reply>
48
49 # Client-side
50 <client>
51 <features>
52 SSL
53 </features>
54 <server>
55 http
56 https
57 </server>
58  <name>
59 HTTP 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>
66 perl -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>
76 GET /want/309 HTTP/1.1\r
77 Host: %HOSTIP:%HTTPPORT\r
78 Accept: */*\r
79 \r
80 GET /data/3090002.txt?coolsite=yes HTTP/1.1\r
81 Host: %HOSTIP:%HTTPSPORT\r
82 Accept: */*\r
83 \r
84 </protocol>
85 </verify>
86 </testcase>