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 15 Date: Thu, 09 Nov 2010 14:49:00 GMT 16 Server: test-server/fake 17 Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes 18 Connection: close 19 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 25 Date: Thu, 09 Nov 2010 14:49:00 GMT 26 Server: test-server/fake 27 Content-Length: 52 28 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 34 Date: Thu, 09 Nov 2010 14:49:00 GMT 35 Server: test-server/fake 36 Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes 37 Connection: close 38 39 HTTP/1.1 200 Followed here fine swsclose 40 Date: Thu, 09 Nov 2010 14:49:00 GMT 41 Server: test-server/fake 42 Content-Length: 52 43 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 77 Host: %HOSTIP:%HTTPPORT 78 Accept: */* 79 80 GET /data/3090002.txt?coolsite=yes HTTP/1.1 81 Host: %HOSTIP:%HTTPSPORT 82 Accept: */* 83 84 </protocol> 85 </verify> 86 </testcase> 87