mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
3f9b4afdfd
When libcurl has said to the server that there's a POST or PUT coming (with a content-length and all) it has to either deliver that amount of data or it needs to close the connection before trying a second request. Adds test case 1129, 1130 and 1131 The bug report is about when used with 100-continue, but the change is more generic. Bug: http://curl.haxx.se/mail/lib-2011-06/0191.html Reported by: Steven Parkes
96 lines
1.6 KiB
Plaintext
96 lines
1.6 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: Thu, 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: Thu, 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/file1131">
|
|
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
</file>
|
|
<server>
|
|
http
|
|
</server>
|
|
<name>
|
|
HTTP PUT expect 100-continue with a 400
|
|
</name>
|
|
<command option="no-output">
|
|
-T log/file1131 http://%HOSTIP:%HTTPPORT/1131 -T log/file1131 http://%HOSTIP:%HTTPPORT/11310001
|
|
</command>
|
|
</client>
|
|
|
|
#
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<stdout>
|
|
HTTP/1.1 400 NOOOOOOOOO
|
|
Date: Thu, 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: Thu, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Content-Length: 9
|
|
Content-Type: text/html
|
|
|
|
FAILURE2
|
|
</stdout>
|
|
<strip>
|
|
^User-Agent:.*
|
|
</strip>
|
|
<protocol>
|
|
PUT /1131 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
Content-Length: 100
|
|
Expect: 100-continue
|
|
|
|
PUT /11310001 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
Content-Length: 100
|
|
Expect: 100-continue
|
|
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|