curl/tests/data/test1131
Dan Fandrich ee521a1c88 http: don't send 100-continue for short PUT requests
This is already how curl is documented to behave in Everything curl, but
in actuality only short POSTs skip this. This should knock 30 seconds
off a full run of the test suite since the 100-continue timeout will no
longer be hit.

Closes #10740
2023-03-11 18:57:19 -08:00

95 lines
1.7 KiB
Plaintext

<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
<servercmd>
skip: 100
</servercmd>
</reply>
#
# Client-side
<client>
# 100 x 'x'
<file name="log/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 log/file%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER -T log/file%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001
</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>