From 6375b205a9d3ebe9583871178db258e6a1f4dfff Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 26 Feb 2020 22:48:09 +0100 Subject: http: added 417 response treatment When doing a request with a body + Expect: 100-continue and the server responds with a 417, the same request will be retried immediately without the Expect: header. Added test 357 to verify. Also added a control instruction to tell the sws test server to not read the request body if Expect: is present, which the new test 357 uses. Reported-by: bramus on github Fixes #4949 Closes #4964 --- tests/data/test357 | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 tests/data/test357 (limited to 'tests/data/test357') diff --git a/tests/data/test357 b/tests/data/test357 new file mode 100644 index 000000000..d0437c685 --- /dev/null +++ b/tests/data/test357 @@ -0,0 +1,97 @@ + + + +HTTP +HTTP PUT +Expect + + +# Server-side + +# 417 means the server didn't like the Expect header + +HTTP/1.1 417 OK swsbounce +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 0 + + + +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 10 + +blablabla + + +HTTP/1.1 417 OK swsbounce +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 0 + +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 10 + +blablabla + + +no-expect + + + +# Client-side + + +http + + +HTTP PUT with Expect: 100-continue and 417 response + + +http://%HOSTIP:%HTTPPORT/we/want/357 -T log/test357.txt + + +Weird + file + to + upload +for + testing +the + PUT + feature + + + +# Verify data after the test has been "shot" + + +^User-Agent:.* + + +PUT /we/want/357 HTTP/1.1 +Host: %HOSTIP:%HTTPPORT +Accept: */* +Content-Length: 78 +Expect: 100-continue + +PUT /we/want/357 HTTP/1.1 +Host: %HOSTIP:%HTTPPORT +Accept: */* +Content-Length: 78 + +Weird + file + to + upload +for + testing +the + PUT + feature + + + -- cgit v1.2.3