113498266Sopenharmony_ci<testcase> 213498266Sopenharmony_ci<info> 313498266Sopenharmony_ci<keywords> 413498266Sopenharmony_ciHTTP 513498266Sopenharmony_ciHTTP POST 613498266Sopenharmony_ciHTTP MIME POST 713498266Sopenharmony_ci</keywords> 813498266Sopenharmony_ci</info> 913498266Sopenharmony_ci 1013498266Sopenharmony_ci# 1113498266Sopenharmony_ci# Server-side 1213498266Sopenharmony_ci<reply> 1313498266Sopenharmony_ci<data> 1413498266Sopenharmony_ciHTTP/1.1 200 OK 1513498266Sopenharmony_ciDate: Tue, 09 Nov 2010 14:49:00 GMT 1613498266Sopenharmony_ciServer: test-server/fake swsclose 1713498266Sopenharmony_ciConnection: close 1813498266Sopenharmony_ciContent-Type: text/html 1913498266Sopenharmony_ci 2013498266Sopenharmony_cihello 2113498266Sopenharmony_ci</data> 2213498266Sopenharmony_ci<datacheck> 2313498266Sopenharmony_ciHTTP/1.1 200 OK 2413498266Sopenharmony_ciDate: Tue, 09 Nov 2010 14:49:00 GMT 2513498266Sopenharmony_ciServer: test-server/fake swsclose 2613498266Sopenharmony_ciConnection: close 2713498266Sopenharmony_ciContent-Type: text/html 2813498266Sopenharmony_ci 2913498266Sopenharmony_cihello 3013498266Sopenharmony_ciHTTP/1.1 200 OK 3113498266Sopenharmony_ciDate: Tue, 09 Nov 2010 14:49:00 GMT 3213498266Sopenharmony_ciServer: test-server/fake swsclose 3313498266Sopenharmony_ciConnection: close 3413498266Sopenharmony_ciContent-Type: text/html 3513498266Sopenharmony_ci 3613498266Sopenharmony_cihello 3713498266Sopenharmony_ci</datacheck> 3813498266Sopenharmony_ci</reply> 3913498266Sopenharmony_ci 4013498266Sopenharmony_ci# Client-side 4113498266Sopenharmony_ci<client> 4213498266Sopenharmony_ci<features> 4313498266Sopenharmony_ciMime 4413498266Sopenharmony_ci</features> 4513498266Sopenharmony_ci<server> 4613498266Sopenharmony_cihttp 4713498266Sopenharmony_ci</server> 4813498266Sopenharmony_ci# tool is what to use instead of 'curl' 4913498266Sopenharmony_ci<tool> 5013498266Sopenharmony_cilib%TESTNUMBER 5113498266Sopenharmony_ci</tool> 5213498266Sopenharmony_ci 5313498266Sopenharmony_ci<name> 5413498266Sopenharmony_ciHTTP multi-part chunked mimepost using read callback for the file part 5513498266Sopenharmony_ci</name> 5613498266Sopenharmony_ci<command> 5713498266Sopenharmony_cihttp://%HOSTIP:%HTTPPORT/%TESTNUMBER 5813498266Sopenharmony_ci</command> 5913498266Sopenharmony_ci</client> 6013498266Sopenharmony_ci 6113498266Sopenharmony_ci# 6213498266Sopenharmony_ci# Verify data after the test has been "shot" 6313498266Sopenharmony_ci<verify> 6413498266Sopenharmony_ci<strippart> 6513498266Sopenharmony_cis/^--------------------------[A-Za-z0-9]*/------------------------------/ 6613498266Sopenharmony_cis/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------------/ 6713498266Sopenharmony_ci</strippart> 6813498266Sopenharmony_ci# Note that the stripping above removes 12 bytes from every occurrence of the 6913498266Sopenharmony_ci# boundary string and since 5 of them are in the body contents, we see 7013498266Sopenharmony_ci# (5*12) == 60 bytes less 7113498266Sopenharmony_ci<protocol> 7213498266Sopenharmony_ciPOST /%TESTNUMBER HTTP/1.1 7313498266Sopenharmony_ciHost: %HOSTIP:%HTTPPORT 7413498266Sopenharmony_ciAccept: */* 7513498266Sopenharmony_ciTransfer-Encoding: chunked 7613498266Sopenharmony_ciContent-Type: multipart/form-data; boundary=---------------------------- 7713498266Sopenharmony_ciExpect: 100-continue 7813498266Sopenharmony_ci 7913498266Sopenharmony_ci%if hyper 8013498266Sopenharmony_ci7C 8113498266Sopenharmony_ci%else 8213498266Sopenharmony_ci7c 8313498266Sopenharmony_ci%endif 8413498266Sopenharmony_ci------------------------------ 8513498266Sopenharmony_ciContent-Disposition: form-data; name="sendfile"; filename="postit2.c" 8613498266Sopenharmony_ci 8713498266Sopenharmony_cid 8813498266Sopenharmony_ci1 8913498266Sopenharmony_ciu 9013498266Sopenharmony_ci1 9113498266Sopenharmony_cim 9213498266Sopenharmony_ci1 9313498266Sopenharmony_cim 9413498266Sopenharmony_ci1 9513498266Sopenharmony_ciy 9613498266Sopenharmony_ci1 9713498266Sopenharmony_ci 9813498266Sopenharmony_ci 9913498266Sopenharmony_ci%if hyper 10013498266Sopenharmony_ci6B 10113498266Sopenharmony_ci%else 10213498266Sopenharmony_ci6b 10313498266Sopenharmony_ci%endif 10413498266Sopenharmony_ci 10513498266Sopenharmony_ci------------------------------ 10613498266Sopenharmony_ciContent-Disposition: form-data; name="callbackdata" 10713498266Sopenharmony_ci 10813498266Sopenharmony_ci 10913498266Sopenharmony_ci1 11013498266Sopenharmony_cid 11113498266Sopenharmony_ci1 11213498266Sopenharmony_ciu 11313498266Sopenharmony_ci1 11413498266Sopenharmony_cim 11513498266Sopenharmony_ci1 11613498266Sopenharmony_cim 11713498266Sopenharmony_ci1 11813498266Sopenharmony_ciy 11913498266Sopenharmony_ci1 12013498266Sopenharmony_ci 12113498266Sopenharmony_ci 12213498266Sopenharmony_ci%if hyper 12313498266Sopenharmony_ci1B2 12413498266Sopenharmony_ci%else 12513498266Sopenharmony_ci1b2 12613498266Sopenharmony_ci%endif 12713498266Sopenharmony_ci 12813498266Sopenharmony_ci------------------------------ 12913498266Sopenharmony_ciContent-Disposition: form-data; name="filename" 13013498266Sopenharmony_ci 13113498266Sopenharmony_cipostit2.c 13213498266Sopenharmony_ci------------------------------ 13313498266Sopenharmony_ciContent-Disposition: form-data; name="submit" 13413498266Sopenharmony_ci 13513498266Sopenharmony_cisend 13613498266Sopenharmony_ci------------------------------ 13713498266Sopenharmony_ciContent-Disposition: form-data; name="somename"; filename="somefile.txt" 13813498266Sopenharmony_ciContent-Type: text/plain 13913498266Sopenharmony_ci 14013498266Sopenharmony_ciblah blah 14113498266Sopenharmony_ci-------------------------------- 14213498266Sopenharmony_ci 14313498266Sopenharmony_ci0 14413498266Sopenharmony_ci 14513498266Sopenharmony_ciPOST /%TESTNUMBER HTTP/1.1 14613498266Sopenharmony_ciHost: %HOSTIP:%HTTPPORT 14713498266Sopenharmony_ciAccept: */* 14813498266Sopenharmony_ciTransfer-Encoding: chunked 14913498266Sopenharmony_ciContent-Type: multipart/form-data; boundary=---------------------------- 15013498266Sopenharmony_ciExpect: 100-continue 15113498266Sopenharmony_ci 15213498266Sopenharmony_ci%if hyper 15313498266Sopenharmony_ci8A 15413498266Sopenharmony_ci%else 15513498266Sopenharmony_ci8a 15613498266Sopenharmony_ci%endif 15713498266Sopenharmony_ci------------------------------ 15813498266Sopenharmony_ciContent-Disposition: form-data; name="sendfile alternative"; filename="file name 2" 15913498266Sopenharmony_ci 16013498266Sopenharmony_cid 16113498266Sopenharmony_ci1 16213498266Sopenharmony_ciu 16313498266Sopenharmony_ci1 16413498266Sopenharmony_cim 16513498266Sopenharmony_ci1 16613498266Sopenharmony_cim 16713498266Sopenharmony_ci1 16813498266Sopenharmony_ciy 16913498266Sopenharmony_ci1 17013498266Sopenharmony_ci 17113498266Sopenharmony_ci 17213498266Sopenharmony_ci%if hyper 17313498266Sopenharmony_ci6B 17413498266Sopenharmony_ci%else 17513498266Sopenharmony_ci6b 17613498266Sopenharmony_ci%endif 17713498266Sopenharmony_ci 17813498266Sopenharmony_ci------------------------------ 17913498266Sopenharmony_ciContent-Disposition: form-data; name="callbackdata" 18013498266Sopenharmony_ci 18113498266Sopenharmony_ci 18213498266Sopenharmony_ci1 18313498266Sopenharmony_cid 18413498266Sopenharmony_ci1 18513498266Sopenharmony_ciu 18613498266Sopenharmony_ci1 18713498266Sopenharmony_cim 18813498266Sopenharmony_ci1 18913498266Sopenharmony_cim 19013498266Sopenharmony_ci1 19113498266Sopenharmony_ciy 19213498266Sopenharmony_ci1 19313498266Sopenharmony_ci 19413498266Sopenharmony_ci 19513498266Sopenharmony_ci%if hyper 19613498266Sopenharmony_ci1B2 19713498266Sopenharmony_ci%else 19813498266Sopenharmony_ci1b2 19913498266Sopenharmony_ci%endif 20013498266Sopenharmony_ci 20113498266Sopenharmony_ci------------------------------ 20213498266Sopenharmony_ciContent-Disposition: form-data; name="filename" 20313498266Sopenharmony_ci 20413498266Sopenharmony_cipostit2.c 20513498266Sopenharmony_ci------------------------------ 20613498266Sopenharmony_ciContent-Disposition: form-data; name="submit" 20713498266Sopenharmony_ci 20813498266Sopenharmony_cisend 20913498266Sopenharmony_ci------------------------------ 21013498266Sopenharmony_ciContent-Disposition: form-data; name="somename"; filename="somefile.txt" 21113498266Sopenharmony_ciContent-Type: text/plain 21213498266Sopenharmony_ci 21313498266Sopenharmony_ciblah blah 21413498266Sopenharmony_ci-------------------------------- 21513498266Sopenharmony_ci 21613498266Sopenharmony_ci0 21713498266Sopenharmony_ci 21813498266Sopenharmony_ci</protocol> 21913498266Sopenharmony_ci</verify> 22013498266Sopenharmony_ci</testcase> 221