test667 (1568B)
1 <testcase> 2 <info> 3 <keywords> 4 HTTP 5 HTTP POST 6 HTTP MIME POST 7 </keywords> 8 </info> 9 10 # 11 # Server-side 12 <reply> 13 <data> 14 HTTP/1.1 200 OK 15 Date: Tue, 09 Nov 2010 14:49:00 GMT 16 Server: test-server/fake swsclose 17 Connection: close 18 Content-Type: text/html 19 20 hello 21 </data> 22 <datacheck> 23 HTTP/1.1 200 OK 24 Date: Tue, 09 Nov 2010 14:49:00 GMT 25 Server: test-server/fake swsclose 26 Connection: close 27 Content-Type: text/html 28 29 hello 30 </datacheck> 31 </reply> 32 33 # Client-side 34 <client> 35 <features> 36 Mime 37 </features> 38 <server> 39 http 40 </server> 41 # tool is what to use instead of 'curl' 42 <tool> 43 lib%TESTNUMBER 44 </tool> 45 46 <name> 47 HTTP chunked mimepost using single-byte read callback with encoder 48 </name> 49 <command> 50 http://%HOSTIP:%HTTPPORT/%TESTNUMBER 51 </command> 52 </client> 53 54 # 55 # Verify data after the test has been "shot" 56 <verify> 57 <strippart> 58 s/^--------------------------[A-Za-z0-9]*/------------------------------/ 59 s/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------------/ 60 </strippart> 61 # Note that the stripping above removes 12 bytes from every occurrence of the 62 # boundary string and since 5 of them are in the body contents, we see 63 # (5*12) == 60 bytes less 64 <protocol> 65 POST /%TESTNUMBER HTTP/1.1 66 Host: %HOSTIP:%HTTPPORT 67 Accept: */* 68 Transfer-Encoding: chunked 69 Content-Type: multipart/form-data; boundary=---------------------------- 70 Expect: 100-continue 71 72 85 73 ------------------------------ 74 Content-Disposition: form-data; name="field" 75 Content-Transfer-Encoding: base64 76 77 78 4 79 ZHVt 80 3a 81 bXk= 82 -------------------------------- 83 84 0 85 86 </protocol> 87 </verify> 88 </testcase>