diff options
author | Daniel Stenberg <daniel@haxx.se> | 2020-02-26 22:48:09 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-02-26 22:48:14 +0100 |
commit | 6375b205a9d3ebe9583871178db258e6a1f4dfff (patch) | |
tree | 425ef8d1e1d3c6c23c83f9eefb491ec14935e087 /tests/data/test357 | |
parent | 8220ec82196f8331460f68b676b7aea6d9e3e806 (diff) | |
download | curl-6375b205a9d3ebe9583871178db258e6a1f4dfff.tar.gz |
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
Diffstat (limited to 'tests/data/test357')
-rw-r--r-- | tests/data/test357 | 97 |
1 files changed, 97 insertions, 0 deletions
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 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP PUT +Expect +</keywords> +</info> +# Server-side +<reply> +# 417 means the server didn't like the Expect header +<data> +HTTP/1.1 417 OK swsbounce +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 0 + +</data> +<data1> +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Content-Length: 10 + +blablabla +</data1> +<datacheck> +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 +</datacheck> +<servercmd> +no-expect +</servercmd> +</reply> + +# Client-side +<client> +<server> +http +</server> + <name> +HTTP PUT with Expect: 100-continue and 417 response + </name> + <command> +http://%HOSTIP:%HTTPPORT/we/want/357 -T log/test357.txt +</command> +<file name="log/test357.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> +<protocol> +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 +</protocol> +</verify> +</testcase> |