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