curl/tests/data/test1051
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

116 lines
2.0 KiB
Plaintext

<testcase>
<info>
<keywords>
HTTP
HTTP PUT
followlocation
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.1 301 Redirect swsclose
Date: Thu, 29 Jul 2008 14:49:00 GMT
Server: test-server/fake
Location: data/%TESTNUMBER0002.txt?coolsite=yes
Content-Length: 0
Connection: close
</data>
<data2>
HTTP/1.1 100 Continue
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 29 Jul 2008 14:49:00 GMT
Server: test-server/fake
Content-Length: 51
If this is received, the location following worked
</data2>
<datacheck>
HTTP/1.1 301 Redirect swsclose
Date: Thu, 29 Jul 2008 14:49:00 GMT
Server: test-server/fake
Location: data/%TESTNUMBER0002.txt?coolsite=yes
Content-Length: 0
Connection: close
HTTP/1.1 100 Continue
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 29 Jul 2008 14:49:00 GMT
Server: test-server/fake
Content-Length: 51
If this is received, the location following worked
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP PUT with Location: following
</name>
<command>
http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -L -T log/test%TESTNUMBER.txt
</command>
<file name="log/test%TESTNUMBER.txt">
Weird
file
to
upload
for
testing
the
PUT
feature
</file>
</client>
# Verify data after the test has been "shot"
<verify>
# The primary reason libcurl sends the data part twice in this test is that
# the test HTTP server is blocking until it has read the entire request,
# including the full request-body before it responds. So in this test the
# server says 301 and 100 _after_ the entire PUT body has been sent.
<protocol>
PUT /want/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
Content-Length: 78
Weird
file
to
upload
for
testing
the
PUT
feature
PUT /want/data/%TESTNUMBER0002.txt?coolsite=yes HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
Content-Length: 78
Weird
file
to
upload
for
testing
the
PUT
feature
</protocol>
</verify>
</testcase>