]> granicus.if.org Git - curl/commitdiff
If any of the options CURLOPT_HTTPGET, CURLOPT_POST and CURLOPT_HTTPPOST is
authorDaniel Stenberg <daniel@haxx.se>
Wed, 27 Jul 2005 22:29:50 +0000 (22:29 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 27 Jul 2005 22:29:50 +0000 (22:29 +0000)
set to 1, CURLOPT_NOBODY will now automatically be set to 0.

CHANGES
RELEASE-NOTES
docs/libcurl/curl_easy_setopt.3
lib/url.c

diff --git a/CHANGES b/CHANGES
index c06710cdab72f9d61eed0c6cb59ce5cc856a6c33..b6b5a83f08898855beb86ddbcf8087fcfa2c9510 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,10 @@
                                   Changelog
 
 
+Daniel (28 July 2005)
+- If any of the options CURLOPT_HTTPGET, CURLOPT_POST and CURLOPT_HTTPPOST is
+  set to 1, CURLOPT_NOBODY will now automatically be set to 0.
+
 Daniel (27 July 2005)
 - Dan Fandrich changes over the last week: fixed numerous minor configure
   option parsing flaws: --without-gnutls, --without-spnego --without-gssapi
index 4e119d152fd2cef29368f05d565651c7fd62093d..59bbbf4cc49d541750337fd774bf21bb6d002727 100644 (file)
@@ -18,6 +18,7 @@ This release includes the following changes:
 
 This release includes the following bugfixes:
 
+ o CURLOPT_HTTPGET, CURLOPT_POST and CURLOPT_HTTPPOST resets CURLOPT_NOBODY
  o builds fine on AmigaOS again
  o corrected date parsing on Windows with auto-DST-adjust enabled
  o treats CONNECT 407 responses with bodies better during Digest/NTLM auth
index 75fc28926c9fa1006143d31fca4b51404e3b5d02..8f653f5954bdfdc80e3145fda83aa2b0b6e86ef6 100644 (file)
@@ -21,7 +21,7 @@
 .\" * $Id$
 .\" **************************************************************************
 .\"
-.TH curl_easy_setopt 3 "13 Jul 2005" "libcurl 7.14.1" "libcurl Manual"
+.TH curl_easy_setopt 3 "28 Jul 2005" "libcurl 7.14.1" "libcurl Manual"
 .SH NAME
 curl_easy_setopt - set options for a curl easy handle
 .SH SYNOPSIS
@@ -525,8 +525,11 @@ adding a header like "Transfer-Encoding: chunked" with
 \fICURLOPT_HTTPHEADER\fP. With HTTP 1.0 or without chunked transfer, you must
 specify the size in the request.
 
-NOTE: if you have issued a POST request and want to make a HEAD or GET
-instead, you must explictly pick the new request type using
+When setting \fICURLOPT_POST\fP to a non-zero value, it will automatically set
+\fICURLOPT_NOBODY\fP to 0.
+
+If you issue a POST request and then want to make a HEAD or GET using the same
+re-used handle, you must explictly set the new request type using
 \fICURLOPT_NOBODY\fP or \fICURLOPT_HTTPGET\fP or similar.
 .IP CURLOPT_POSTFIELDS
 Pass a char * as parameter, which should be the full data to post in an HTTP
@@ -564,6 +567,9 @@ must remain intact until you close this curl handle again with
 
 Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
 You can disable this header with \fICURLOPT_HTTPHEADER\fP as usual.
+
+When setting \fICURLOPT_HTTPPOST\fP, it will automatically set
+\fICURLOPT_NOBODY\fP to 0.
 .IP CURLOPT_REFERER
 Pass a pointer to a zero terminated string as parameter. It will be used to
 set the Referer: header in the http request sent to the remote server. This
@@ -664,6 +670,9 @@ was not enabled it will enable its cookie engine.  Passing a magic string
 Pass a long. If the long is non-zero, this forces the HTTP request to get back
 to GET. usable if a POST, HEAD, PUT or a custom request have been used
 previously using the same curl handle.
+
+When setting \fICURLOPT_HTTPGET\fP to a non-zero value, it will automatically
+set \fICURLOPT_NOBODY\fP to 0.
 .IP CURLOPT_HTTP_VERSION
 Pass a long, set to one of the values described below. They force libcurl to
 use the specific HTTP versions. This is not sensible to do unless you have a
index 07a34a94e8afebcb2b4c5b117af06096dc3f8573..7c34ee19aa7d85bed3e92bf7d326b6253d651d1f 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -644,8 +644,10 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
     /* Does this option serve a purpose anymore? Yes it does, when
        CURLOPT_POSTFIELDS isn't used and the POST data is read off the
        callback! */
-    if(va_arg(param, long))
+    if(va_arg(param, long)) {
       data->set.httpreq = HTTPREQ_POST;
+      data->set.opt_no_body = FALSE; /* this is implied */
+    }
     else
       data->set.httpreq = HTTPREQ_GET;
     break;
@@ -680,6 +682,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
      */
     data->set.httppost = va_arg(param, struct curl_httppost *);
     data->set.httpreq = HTTPREQ_POST_FORM;
+    data->set.opt_no_body = FALSE; /* this is implied */
     break;
 
   case CURLOPT_REFERER:
@@ -813,6 +816,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
     if(va_arg(param, long)) {
       data->set.httpreq = HTTPREQ_GET;
       data->set.upload = FALSE; /* switch off upload */
+      data->set.opt_no_body = FALSE; /* this is implied */
     }
     break;