diff options
author | Daniel Stenberg <daniel@haxx.se> | 2006-10-25 20:40:14 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2006-10-25 20:40:14 +0000 |
commit | cde5e35d9b046b224c64936c432d67c9de8bcc9e (patch) | |
tree | 617d3c4165c5fcaa1eab9d8275ffe7e3dedfac60 /tests | |
parent | ee17fba72e1525238a934118a348a241fb0f51ea (diff) |
Fixed CURLOPT_FAILONERROR to return CURLE_HTTP_RETURNED_ERROR even for the
case when 401 or 407 are returned, *IF* no auth credentials have been given.
The CURLOPT_FAILONERROR option is not possible to make fool-proof for 401
and 407 cases when auth credentials is given, but we've now covered this
somewhat more.
You might get some amounts of headers transferred before this situation is
detected, like for when a "100-continue" is received as a response to a
POST/PUT and a 401 or 407 is received immediately afterwards.
Added test 281 to verify this change.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/data/Makefile.am | 2 | ||||
-rw-r--r-- | tests/data/test281 | 63 |
2 files changed, 64 insertions, 1 deletions
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index ffb392f01..62edee1b6 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -36,4 +36,4 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test265 test266 test267 test268 test269 test270 test271 test272 test273 \ test274 test275 test524 test525 test276 test277 test526 test527 test528 \ test530 DISABLED test278 test279 test531 test280 test529 test532 test533 \ - test534 test535 + test534 test535 test281 diff --git a/tests/data/test281 b/tests/data/test281 new file mode 100644 index 000000000..ffbebbe66 --- /dev/null +++ b/tests/data/test281 @@ -0,0 +1,63 @@ +<info> +<keywords> +HTTP +HTTP PUT +</keywords> +</info> +# Server-side +<reply> +<data> +HTTP/1.1 100 Continue + +HTTP/1.1 401 Bad Auth swsclose +Date: Thu, 09 Nov 2010 14:49:00 GMT +WWW-Authenticate: Basic Realm=authenticate +Server: test-server/fake +</data> +<datacheck> +HTTP/1.1 100 Continue + +</datacheck> + +</reply> + +# Client-side +<client> +<server> +http +</server> + <name> +HTTP PUT from file with 100 + 401 responses and -f without auth given + </name> + <command> +http://%HOSTIP:%HTTPPORT/we/want/281 -f -T log/test281.txt +</command> +<file name="log/test281.txt"> +Weird + file + to + upload +</file> +</client> + +# Verify data after the test has been "shot" +<verify> +<errorcode> +22 +</errorcode> +<strip> +^User-Agent:.* +</strip> +<protocol> +PUT /we/want/281 HTTP/1.1
+Host: 127.0.0.1:%HTTPPORT
+Accept: */*
+Content-Length: 38
+Expect: 100-continue
+
+Weird + file + to + upload +</protocol> +</verify> |