1
0
mirror of https://github.com/moparisthebest/curl synced 2024-10-31 15:45:12 -04:00
curl/tests/data/test1052
Daniel Stenberg 3a499099af - Test cases 1051, 1052 and 1055 were added by Daniel Fandrich on July 30 and
proved how PUT and POST with a redirect could lead to a "hang" due to the
  data stream not being rewound properly when it had to in order to get sent
  properly (again) to the subsequent URL. This is now fixed and these test
  cases are no longer disabled.
2008-08-04 22:00:22 +00:00

112 lines
1.9 KiB
Plaintext

<testcase>
<info>
<keywords>
HTTP
HTTP PUT
followlocation
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.0 301 Redirect swsclose
Date: Thu, 29 Jul 2008 14:49:00 GMT
Server: test-server/fake
Location: data/10520002.txt?coolsite=yes
Content-Length: 0
Connection: close
</data>
<data2>
HTTP/1.0 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.0 301 Redirect swsclose
Date: Thu, 29 Jul 2008 14:49:00 GMT
Server: test-server/fake
Location: data/10520002.txt?coolsite=yes
Content-Length: 0
Connection: close
HTTP/1.0 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 1.0 PUT with Location: following
</name>
<command>
http://%HOSTIP:%HTTPPORT/want/1052 -0 -L -T log/test1052.txt
</command>
<file name="log/test1052.txt">
Weird
file
to
upload
for
testing
the
PUT
feature
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
# 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 200 _after_ the entire PUT body has been sent.
<protocol>
PUT /want/1052 HTTP/1.0
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 78
Weird
file
to
upload
for
testing
the
PUT
feature
PUT /want/data/10520002.txt?coolsite=yes HTTP/1.0
Host: %HOSTIP:%HTTPPORT
Accept: */*
Content-Length: 78
Weird
file
to
upload
for
testing
the
PUT
feature
</protocol>
</verify>
</testcase>