From 8ce78ca488f589d9b1987e7713f28f9da15cba0f Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Thu, 28 Aug 2008 06:28:07 +0000 Subject: Fixed test case 1065 by changing the handling of CURLOPT_UPLOAD to set the HTTP method to GET (or HEAD) when given a value of 0. --- CHANGES | 7 +++++++ RELEASE-NOTES | 1 + lib/url.c | 3 +++ tests/data/DISABLED | 1 - tests/data/test1065 | 6 +++--- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index ce0abeba0..21f345bd2 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,13 @@ Changelog +Daniel Fandrich (27 Aug 2008) +- Fixed test case 1065 by changing the handling of CURLOPT_UPLOAD to set + the HTTP method to GET (or HEAD) when given a value of 0. + +- Added test cases 1068 and 1069 to test a simple HTTP PUT from stdin. Test + case 1069 fails in a similar manner to test 1065 so is added to DISABLED. + Yang Tse (27 Aug 2008) - Fix generation of MS VC6 .dsp file to make it support compilation of either dynamic (DLL) or static (LIB) libcurl libraries in debug and release modes. diff --git a/RELEASE-NOTES b/RELEASE-NOTES index d082085c3..cfdb11979 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -58,6 +58,7 @@ This release includes the following bugfixes: o improved curl_m*printf() integral data type size and signedness handling o error when --dump-header - used with more than one URL o proxy closing connect during CONNECT with auth with the multi interface + o CURLOPT_UPLOAD sets HTTP method back to GET or HEAD when passed in a 0 This release includes the following known bugs: diff --git a/lib/url.c b/lib/url.c index 41222f0ec..a70b471b2 100644 --- a/lib/url.c +++ b/lib/url.c @@ -888,6 +888,9 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, if(data->set.upload) /* If this is HTTP, PUT is what's needed to "upload" */ data->set.httpreq = HTTPREQ_PUT; + else + /* In HTTP, the opposite of upload is either GET or a HEAD */ + data->set.httpreq = data->set.opt_no_body?HTTPREQ_HEAD:HTTPREQ_GET; break; case CURLOPT_FILETIME: /* diff --git a/tests/data/DISABLED b/tests/data/DISABLED index 9e61456de..87d335550 100644 --- a/tests/data/DISABLED +++ b/tests/data/DISABLED @@ -3,5 +3,4 @@ # test cases are run by runtests.pl. Just add the plain test case numbers, one # per line. # Lines starting with '#' letters are treated as comments. -1065 1069 diff --git a/tests/data/test1065 b/tests/data/test1065 index 700d8110b..87f4654ca 100644 --- a/tests/data/test1065 +++ b/tests/data/test1065 @@ -3,6 +3,7 @@ HTTP HTTP PUT +HTTP GET @@ -35,7 +36,7 @@ http HTTP PUT with one file but two URLs --H "Expect:" -T log/1065 http://%HOSTIP:%HTTPPORT/1065.upload1 http://%HOSTIP:%HTTPPORT/10650002.upload2 +-H "Expect:" -T log/1065 http://%HOSTIP:%HTTPPORT/1065.upload1 http://%HOSTIP:%HTTPPORT/10650002.url2 test @@ -54,10 +55,9 @@ Accept: */* Content-Length: 5 test -PUT /10650002.upload2 HTTP/1.1 +GET /10650002.url2 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* -Content-Length: 0 -- cgit v1.2.3