<testcase> <info> <keywords> HTTP HTTP PUT Expect: 100-continue </keywords> </info> # # Server-side <reply> <data nocheck="yes"> HTTP/1.1 400 NOOOOOOOOO Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Length: 9 Content-Type: text/html FAILURE1 </data> <data1> HTTP/1.1 400 NEITHER Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Length: 9 Content-Type: text/html FAILURE2 </data1> # We use skip to make the test server never read the full payload off # the socket and instead return the response at once. In actuality, the # long --expect100-timeout means that it will never get a chance to read this. <servercmd> skip: 100 </servercmd> </reply> # # Client-side <client> # 100 x 'x' <file name="%LOGDIR/file%TESTNUMBER"> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX </file> <server> http </server> <name> HTTP PUT expect 100-continue with a 400 </name> <command option="no-output"> -H "Expect: 100-continue" -T %LOGDIR/file%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T %LOGDIR/file%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 --expect100-timeout 99 </command> </client> # # Verify data after the test has been "shot" <verify> <stdout> HTTP/1.1 400 NOOOOOOOOO Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Length: 9 Content-Type: text/html FAILURE1 HTTP/1.1 400 NEITHER Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Length: 9 Content-Type: text/html FAILURE2 </stdout> <protocol> PUT /%TESTNUMBER HTTP/1.1 Host: %HOSTIP:%HTTPPORT User-Agent: curl/%VERSION Accept: */* Expect: 100-continue Content-Length: 100 PUT /%TESTNUMBER0001 HTTP/1.1 Host: %HOSTIP:%HTTPPORT User-Agent: curl/%VERSION Accept: */* Expect: 100-continue Content-Length: 100 </protocol> </verify> </testcase>