From c0e139a60db68034e04362694290f7cf422eb924 Mon Sep 17 00:00:00 2001 From: Jay Satiro Date: Thu, 16 Apr 2020 14:15:34 -0400 Subject: transfer: Switch PUT to GET/HEAD on 303 redirect Prior to this change if there was a 303 reply to a PUT request then the subsequent request to respond to that redirect would also be a PUT. It was determined that was most likely incorrect based on the language of the RFCs. Basically 303 means "see other" resource, which implies it is most likely not the same resource, therefore we should not try to PUT to that different resource. Refer to the discussions in #5237 and #5248 for more information. Fixes https://github.com/curl/curl/issues/5237 Closes https://github.com/curl/curl/pull/5248 --- tests/data/test1524 | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 tests/data/test1524 (limited to 'tests/data/test1524') diff --git a/tests/data/test1524 b/tests/data/test1524 new file mode 100644 index 000000000..ed0c0476e --- /dev/null +++ b/tests/data/test1524 @@ -0,0 +1,77 @@ + + + +HTTP +HTTP PUT +followlocation + + +# +# Server-side + + +HTTP/1.1 303 OK swsclose +Location: moo.html&testcase=/15240002 +Connection: close + + + +HTTP/1.1 200 OK swsclose +Location: this should be ignored +Connection: close + +body + + +HTTP/1.1 303 OK swsclose +Location: moo.html&testcase=/15240002 +Connection: close + +HTTP/1.1 200 OK swsclose +Location: this should be ignored +Connection: close + +body + + + +# +# Client-side + + +http + + +HTTP PUT with 303 redirect + + +http://%HOSTIP:%HTTPPORT/blah/1524 -L -T log/upload1524.txt + + +moo + + + +# +# Verify data after the test has been "shot" + + +^User-Agent:.* + + +PUT /blah/1524 HTTP/1.1 +Host: %HOSTIP:%HTTPPORT +Accept: */* +Content-Length: 4 +Expect: 100-continue + +moo +GET /blah/moo.html&testcase=/15240002 HTTP/1.1 +User-Agent: this should be ignored +Host: %HOSTIP:%HTTPPORT +Accept: */* + + + + + -- cgit v1.2.3