Home | History | Annotate | Download | only in data
      1 <testcase>
      2 <info>
      3 <keywords>
      4 HTTP
      5 HTTP PUT
      6 followlocation
      7 </keywords>
      8 
      9 </info>
     10 # Server-side
     11 <reply>
     12 <data>
     13 HTTP/1.0 301 Redirect swsclose
     14 Date: Thu, 29 Jul 2008 14:49:00 GMT
     15 Server: test-server/fake
     16 Location: data/10520002.txt?coolsite=yes
     17 Content-Length: 0
     18 Connection: close
     19 
     20 </data>
     21 <data2>
     22 HTTP/1.0 200 Followed here fine swsclose
     23 Date: Thu, 29 Jul 2008 14:49:00 GMT
     24 Server: test-server/fake
     25 Content-Length: 51
     26 
     27 If this is received, the location following worked
     28 </data2>
     29 <datacheck>
     30 HTTP/1.0 301 Redirect swsclose
     31 Date: Thu, 29 Jul 2008 14:49:00 GMT
     32 Server: test-server/fake
     33 Location: data/10520002.txt?coolsite=yes
     34 Content-Length: 0
     35 Connection: close
     36 
     37 HTTP/1.0 200 Followed here fine swsclose
     38 Date: Thu, 29 Jul 2008 14:49:00 GMT
     39 Server: test-server/fake
     40 Content-Length: 51
     41 
     42 If this is received, the location following worked
     43 </datacheck>
     44 </reply>
     45 
     46 # Client-side
     47 <client>
     48 <server>
     49 http
     50 </server>
     51  <name>
     52 HTTP 1.0 PUT with Location: following
     53  </name>
     54  <command>
     55 http://%HOSTIP:%HTTPPORT/want/1052 -0 -L -T log/test1052.txt
     56 </command>
     57 <file name="log/test1052.txt">
     58 Weird
     59      file
     60          to
     61    upload
     62 for
     63    testing
     64 the
     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>
     81 PUT /want/1052 HTTP/1.0
     82 Host: %HOSTIP:%HTTPPORT
     83 Accept: */*
     84 Content-Length: 78
     85 
     86 Weird
     87      file
     88          to
     89    upload
     90 for
     91    testing
     92 the
     93    PUT
     94       feature
     95 PUT /want/data/10520002.txt?coolsite=yes HTTP/1.0
     96 Host: %HOSTIP:%HTTPPORT
     97 Accept: */*
     98 Content-Length: 78
     99 
    100 Weird
    101      file
    102          to
    103    upload
    104 for
    105    testing
    106 the
    107    PUT
    108       feature
    109 </protocol>
    110 </verify>
    111 </testcase>
    112