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 77# The primary reason libcurl sends the data part twice in this test is that 78# the test HTTP server is blocking until it has read the entire request, 79# including the full request-body before it responds. So in this test the 80# server says 301 and 100 _after_ the entire PUT body has been sent. 81 82<protocol> 83PUT /want/1051 HTTP/1.1 84Host: %HOSTIP:%HTTPPORT 85User-Agent: curl/%VERSION 86Accept: */* 87Content-Length: 78 88Expect: 100-continue 89 90Weird 91 file 92 to 93 upload 94for 95 testing 96the 97 PUT 98 feature 99PUT /want/data/10510002.txt?coolsite=yes HTTP/1.1 100Host: %HOSTIP:%HTTPPORT 101User-Agent: curl/%VERSION 102Accept: */* 103Content-Length: 78 104Expect: 100-continue 105 106Weird 107 file 108 to 109 upload 110for 111 testing 112the 113 PUT 114 feature 115</protocol> 116</verify> 117</testcase> 118