aboutsummaryrefslogtreecommitdiff
path: root/tests/data
diff options
context:
space:
mode:
authorMichael Kaufmann <mail@michael-kaufmann.ch>2016-09-22 22:15:13 +0200
committerMichael Kaufmann <mail@michael-kaufmann.ch>2016-09-22 22:22:31 +0200
commite9e536619333b0ebd1b096be5c27a39c78e812c5 (patch)
tree44c39aad0c5acc5f0d330653ac214c274afdef38 /tests/data
parentd1f1c857ad559eafef9373621d30174c046261ef (diff)
New libcurl option to keep sending on error
Add the new option CURLOPT_KEEP_SENDING_ON_ERROR to control whether sending the request body shall be completed when the server responds early with an error status code. This is suitable for manual NTLM authentication. Reviewed-by: Jay Satiro Closes https://github.com/curl/curl/pull/904
Diffstat (limited to 'tests/data')
-rw-r--r--tests/data/Makefile.inc1
-rw-r--r--tests/data/test153374
2 files changed, 75 insertions, 0 deletions
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
index a3d315abb..8b402f02c 100644
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@ -157,6 +157,7 @@ test1516 test1517 \
test1520 \
\
test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \
+test1533 \
\
test1600 test1601 test1602 test1603 test1604 test1605 \
\
diff --git a/tests/data/test1533 b/tests/data/test1533
new file mode 100644
index 000000000..56518161c
--- /dev/null
+++ b/tests/data/test1533
@@ -0,0 +1,74 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP POST
+CURLOPT_KEEP_SENDING_ON_ERROR
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<servercmd>
+auth_required
+</servercmd>
+<data nocheck="yes">
+HTTP/1.1 401 Authorization Required
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 15
+
+Early Response
+</data>
+</reply>
+# Client-side
+<client>
+<server>
+http
+</server>
+<tool>
+lib1533
+</tool>
+<name>
+HTTP with CURLOPT_KEEP_SENDING_ON_ERROR and an early error response
+</name>
+<command>
+http://%HOSTIP:%HTTPPORT/1533
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+# TEST_ERR_SUCCESS is errorcode 120
+<verify>
+<errorcode>
+120
+</errorcode>
+<protocol nonewline="yes">
+POST /1533 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+POST /1533 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+POST /1533 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+aaaPOST /1533 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 3
+Content-Type: application/x-www-form-urlencoded
+
+aaa
+</protocol>
+</verify>
+</testcase>