1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP PUT 6followlocation 7</keywords> 8 9</info> 10# Server-side 11<reply> 12<data> 13HTTP/1.0 301 Redirect swsclose 14Date: Thu, 29 Jul 2008 14:49:00 GMT 15Server: test-server/fake 16Location: data/10520002.txt?coolsite=yes 17Content-Length: 0 18Connection: close 19 20</data> 21<data2> 22HTTP/1.0 200 Followed here fine swsclose 23Date: Thu, 29 Jul 2008 14:49:00 GMT 24Server: test-server/fake 25Content-Length: 51 26 27If this is received, the location following worked 28</data2> 29<datacheck> 30HTTP/1.0 301 Redirect swsclose 31Date: Thu, 29 Jul 2008 14:49:00 GMT 32Server: test-server/fake 33Location: data/10520002.txt?coolsite=yes 34Content-Length: 0 35Connection: close 36 37HTTP/1.0 200 Followed here fine swsclose 38Date: Thu, 29 Jul 2008 14:49:00 GMT 39Server: test-server/fake 40Content-Length: 51 41 42If this is received, the location following worked 43</datacheck> 44</reply> 45 46# Client-side 47<client> 48<server> 49http 50</server> 51 <name> 52HTTP 1.0 PUT with Location: following 53 </name> 54 <command> 55http://%HOSTIP:%HTTPPORT/want/1052 -0 -L -T log/test1052.txt 56</command> 57<file name="log/test1052.txt"> 58Weird 59 file 60 to 61 upload 62for 63 testing 64the 65 PUT 66 feature 67</file> 68</client> 69 70# Verify data after the test has been "shot" 71<verify> 72<strip> 73^User-Agent:.* 74</strip> 75 76# The primary reason libcurl sends the data part twice in this test is that 77# the test HTTP server is blocking until it has read the entire request, 78# including the full request-body before it responds. So in this test the 79# server says 301 and 200 _after_ the entire PUT body has been sent. 80<protocol> 81PUT /want/1052 HTTP/1.0 82Host: %HOSTIP:%HTTPPORT 83Accept: */* 84Content-Length: 78 85 86Weird 87 file 88 to 89 upload 90for 91 testing 92the 93 PUT 94 feature 95PUT /want/data/10520002.txt?coolsite=yes HTTP/1.0 96Host: %HOSTIP:%HTTPPORT 97Accept: */* 98Content-Length: 78 99 100Weird 101 file 102 to 103 upload 104for 105 testing 106the 107 PUT 108 feature 109</protocol> 110</verify> 111</testcase> 112