113498266Sopenharmony_ci<testcase> 213498266Sopenharmony_ci<info> 313498266Sopenharmony_ci<keywords> 413498266Sopenharmony_ciHTTP 513498266Sopenharmony_ciHTTP POST 613498266Sopenharmony_ciFORM 713498266Sopenharmony_ci</keywords> 813498266Sopenharmony_ci</info> 913498266Sopenharmony_ci 1013498266Sopenharmony_ci# 1113498266Sopenharmony_ci# Server-side 1213498266Sopenharmony_ci<reply> 1313498266Sopenharmony_ci<data nocheck="yes"> 1413498266Sopenharmony_ciHTTP/1.1 301 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_ciLocation: /%TESTNUMBER0002 2013498266Sopenharmony_ci 2113498266Sopenharmony_cihello 2213498266Sopenharmony_ci</data> 2313498266Sopenharmony_ci<data2 crlf="yes"> 2413498266Sopenharmony_ciHTTP/1.1 200 OK 2513498266Sopenharmony_ciDate: Tue, 09 Nov 2010 14:49:00 GMT 2613498266Sopenharmony_ciServer: test-server/fake 2713498266Sopenharmony_ciContent-Length: 6 2813498266Sopenharmony_ciConnection: close 2913498266Sopenharmony_ciContent-Type: text/html 3013498266Sopenharmony_ci 3113498266Sopenharmony_ci-foo- 3213498266Sopenharmony_ci</data2> 3313498266Sopenharmony_ci</reply> 3413498266Sopenharmony_ci 3513498266Sopenharmony_ci# Client-side 3613498266Sopenharmony_ci<client> 3713498266Sopenharmony_ci<features> 3813498266Sopenharmony_ciform-api 3913498266Sopenharmony_ci</features> 4013498266Sopenharmony_ci<server> 4113498266Sopenharmony_cihttp 4213498266Sopenharmony_ci</server> 4313498266Sopenharmony_ci# tool is what to use instead of 'curl' 4413498266Sopenharmony_ci<tool> 4513498266Sopenharmony_cilib%TESTNUMBER 4613498266Sopenharmony_ci</tool> 4713498266Sopenharmony_ci 4813498266Sopenharmony_ci<name> 4913498266Sopenharmony_ciHTTP formpost using form API - with redirect and re-POST 5013498266Sopenharmony_ci</name> 5113498266Sopenharmony_ci<stdin> 5213498266Sopenharmony_ci Some data from stdin 5313498266Sopenharmony_ci</stdin> 5413498266Sopenharmony_ci<command> 5513498266Sopenharmony_cihttp://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/test%TESTNUMBER.filedata 5613498266Sopenharmony_ci</command> 5713498266Sopenharmony_ci<file name="%LOGDIR/test%TESTNUMBER.filedata"> 5813498266Sopenharmony_ciThis is data from a file. 5913498266Sopenharmony_ci</file> 6013498266Sopenharmony_ci</client> 6113498266Sopenharmony_ci 6213498266Sopenharmony_ci# 6313498266Sopenharmony_ci# Verify data bbter the test has been "shot" 6413498266Sopenharmony_ci<verify> 6513498266Sopenharmony_ci<strippart> 6613498266Sopenharmony_cis/^--------------------------[A-Za-z0-9]*/------------------------------/ 6713498266Sopenharmony_cis/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------------/ 6813498266Sopenharmony_ci</strippart> 6913498266Sopenharmony_ci# Note that the stripping above removes 12 bytes from every occurrence of the 7013498266Sopenharmony_ci# boundary string and since 5 of them are in the body contents, we see 7113498266Sopenharmony_ci# (5*12) == 60 bytes less 7213498266Sopenharmony_ci<protocol> 7313498266Sopenharmony_ciPOST /%TESTNUMBER HTTP/1.1 7413498266Sopenharmony_ciHost: %HOSTIP:%HTTPPORT 7513498266Sopenharmony_ciAccept: */* 7613498266Sopenharmony_ciTransfer-Encoding: chunked 7713498266Sopenharmony_ciContent-Type: multipart/form-data; boundary=---------------------------- 7813498266Sopenharmony_ciExpect: 100-continue 7913498266Sopenharmony_ci 8013498266Sopenharmony_ci385 8113498266Sopenharmony_ci------------------------------ 8213498266Sopenharmony_ciContent-Disposition: form-data; name="fieldname" 8313498266Sopenharmony_ciContent-Type: text/plain 8413498266Sopenharmony_ciX-customheader-1: Header 1 data 8513498266Sopenharmony_ciX-customheader-2: Header 2 data 8613498266Sopenharmony_ci 8713498266Sopenharmony_cithis is what we post to the silly web server 8813498266Sopenharmony_ci------------------------------ 8913498266Sopenharmony_ciContent-Disposition: form-data; name="fieldnam" 9013498266Sopenharmony_ci 9113498266Sopenharmony_ciuhis is what we post to the silly web serve 9213498266Sopenharmony_ci------------------------------ 9313498266Sopenharmony_ciContent-Disposition: form-data; name="multifile" 9413498266Sopenharmony_ciContent-Type: multipart/mixed; boundary=---------------------------- 9513498266Sopenharmony_ci 9613498266Sopenharmony_ci------------------------------ 9713498266Sopenharmony_ciContent-Disposition: attachment; filename="test%TESTNUMBER.filedata" 9813498266Sopenharmony_ciContent-Type: application/octet-stream 9913498266Sopenharmony_ci 10013498266Sopenharmony_ciThis is data from a file. 10113498266Sopenharmony_ci 10213498266Sopenharmony_ci------------------------------ 10313498266Sopenharmony_ciContent-Disposition: attachment; filename="test%TESTNUMBER.filedata" 10413498266Sopenharmony_ciContent-Type: text/whatever 10513498266Sopenharmony_ci 10613498266Sopenharmony_ci 10713498266Sopenharmony_ci%if hyper 10813498266Sopenharmony_ciAB 10913498266Sopenharmony_ci%else 11013498266Sopenharmony_ciab 11113498266Sopenharmony_ci%endif 11213498266Sopenharmony_ciThis is data from a file. 11313498266Sopenharmony_ci 11413498266Sopenharmony_ci------------------------------ 11513498266Sopenharmony_ciContent-Disposition: attachment; filename="test%TESTNUMBER.filedata" 11613498266Sopenharmony_ciContent-Type: text/whatever 11713498266Sopenharmony_ci 11813498266Sopenharmony_ci 11913498266Sopenharmony_ci%if hyper 12013498266Sopenharmony_ciBB 12113498266Sopenharmony_ci%else 12213498266Sopenharmony_cibb 12313498266Sopenharmony_ci%endif 12413498266Sopenharmony_ciThis is data from a file. 12513498266Sopenharmony_ci 12613498266Sopenharmony_ci-------------------------------- 12713498266Sopenharmony_ci 12813498266Sopenharmony_ci------------------------------ 12913498266Sopenharmony_ciContent-Disposition: form-data; name="filecontents" 13013498266Sopenharmony_ci 13113498266Sopenharmony_ci 13213498266Sopenharmony_ci%if hyper 13313498266Sopenharmony_ci11B 13413498266Sopenharmony_ci%else 13513498266Sopenharmony_ci11b 13613498266Sopenharmony_ci%endif 13713498266Sopenharmony_ciThis is data from a file. 13813498266Sopenharmony_ci 13913498266Sopenharmony_ci------------------------------ 14013498266Sopenharmony_ciContent-Disposition: form-data; name="formlength" 14113498266Sopenharmony_ci 14213498266Sopenharmony_ci1433 14313498266Sopenharmony_ci------------------------------ 14413498266Sopenharmony_ciContent-Disposition: form-data; name="standardinput" 14513498266Sopenharmony_ciContent-Type: application/octet-stream 14613498266Sopenharmony_ci 14713498266Sopenharmony_ci 14813498266Sopenharmony_ci16 14913498266Sopenharmony_ci Some data from stdin 15013498266Sopenharmony_ci 15113498266Sopenharmony_ci36 15213498266Sopenharmony_ci 15313498266Sopenharmony_ci-------------------------------- 15413498266Sopenharmony_ci 15513498266Sopenharmony_ci0 15613498266Sopenharmony_ci 15713498266Sopenharmony_ciPOST /%TESTNUMBER0002 HTTP/1.1 15813498266Sopenharmony_ciHost: %HOSTIP:%HTTPPORT 15913498266Sopenharmony_ciAccept: */* 16013498266Sopenharmony_ciTransfer-Encoding: chunked 16113498266Sopenharmony_ciContent-Type: multipart/form-data; boundary=---------------------------- 16213498266Sopenharmony_ciExpect: 100-continue 16313498266Sopenharmony_ci 16413498266Sopenharmony_ci385 16513498266Sopenharmony_ci------------------------------ 16613498266Sopenharmony_ciContent-Disposition: form-data; name="fieldname" 16713498266Sopenharmony_ciContent-Type: text/plain 16813498266Sopenharmony_ciX-customheader-1: Header 1 data 16913498266Sopenharmony_ciX-customheader-2: Header 2 data 17013498266Sopenharmony_ci 17113498266Sopenharmony_cithis is what we post to the silly web server 17213498266Sopenharmony_ci------------------------------ 17313498266Sopenharmony_ciContent-Disposition: form-data; name="fieldnam" 17413498266Sopenharmony_ci 17513498266Sopenharmony_ciuhis is what we post to the silly web serve 17613498266Sopenharmony_ci------------------------------ 17713498266Sopenharmony_ciContent-Disposition: form-data; name="multifile" 17813498266Sopenharmony_ciContent-Type: multipart/mixed; boundary=---------------------------- 17913498266Sopenharmony_ci 18013498266Sopenharmony_ci------------------------------ 18113498266Sopenharmony_ciContent-Disposition: attachment; filename="test%TESTNUMBER.filedata" 18213498266Sopenharmony_ciContent-Type: application/octet-stream 18313498266Sopenharmony_ci 18413498266Sopenharmony_ciThis is data from a file. 18513498266Sopenharmony_ci 18613498266Sopenharmony_ci------------------------------ 18713498266Sopenharmony_ciContent-Disposition: attachment; filename="test%TESTNUMBER.filedata" 18813498266Sopenharmony_ciContent-Type: text/whatever 18913498266Sopenharmony_ci 19013498266Sopenharmony_ci 19113498266Sopenharmony_ci%if hyper 19213498266Sopenharmony_ciAB 19313498266Sopenharmony_ci%else 19413498266Sopenharmony_ciab 19513498266Sopenharmony_ci%endif 19613498266Sopenharmony_ciThis is data from a file. 19713498266Sopenharmony_ci 19813498266Sopenharmony_ci------------------------------ 19913498266Sopenharmony_ciContent-Disposition: attachment; filename="test%TESTNUMBER.filedata" 20013498266Sopenharmony_ciContent-Type: text/whatever 20113498266Sopenharmony_ci 20213498266Sopenharmony_ci 20313498266Sopenharmony_ci%if hyper 20413498266Sopenharmony_ciBB 20513498266Sopenharmony_ci%else 20613498266Sopenharmony_cibb 20713498266Sopenharmony_ci%endif 20813498266Sopenharmony_ciThis is data from a file. 20913498266Sopenharmony_ci 21013498266Sopenharmony_ci-------------------------------- 21113498266Sopenharmony_ci 21213498266Sopenharmony_ci------------------------------ 21313498266Sopenharmony_ciContent-Disposition: form-data; name="filecontents" 21413498266Sopenharmony_ci 21513498266Sopenharmony_ci 21613498266Sopenharmony_ci%if hyper 21713498266Sopenharmony_ci11B 21813498266Sopenharmony_ci%else 21913498266Sopenharmony_ci11b 22013498266Sopenharmony_ci%endif 22113498266Sopenharmony_ciThis is data from a file. 22213498266Sopenharmony_ci 22313498266Sopenharmony_ci------------------------------ 22413498266Sopenharmony_ciContent-Disposition: form-data; name="formlength" 22513498266Sopenharmony_ci 22613498266Sopenharmony_ci1433 22713498266Sopenharmony_ci------------------------------ 22813498266Sopenharmony_ciContent-Disposition: form-data; name="standardinput" 22913498266Sopenharmony_ciContent-Type: application/octet-stream 23013498266Sopenharmony_ci 23113498266Sopenharmony_ci 23213498266Sopenharmony_ci16 23313498266Sopenharmony_ci Some data from stdin 23413498266Sopenharmony_ci 23513498266Sopenharmony_ci36 23613498266Sopenharmony_ci 23713498266Sopenharmony_ci-------------------------------- 23813498266Sopenharmony_ci 23913498266Sopenharmony_ci0 24013498266Sopenharmony_ci 24113498266Sopenharmony_ci</protocol> 24213498266Sopenharmony_ci</verify> 24313498266Sopenharmony_ci</testcase> 244