Commit a9c1ca9f authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

- Setting CURLOPT_NOBODY to FALSE will now switch the HTTP request method to

  GET simply because previously when you set CURLOPT_NOBODY to TRUE first and
  then FALSE you'd end up in a broken state where a HTTP request would do a
  HEAD by still act a lot like for a GET and hang waiting for the content etc.
parent d051dd80
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -7,6 +7,11 @@
                                  Changelog
                                  Changelog


Daniel Stenberg (3 Apr 2008)
Daniel Stenberg (3 Apr 2008)
- Setting CURLOPT_NOBODY to FALSE will now switch the HTTP request method to
  GET simply because previously when you set CURLOPT_NOBODY to TRUE first and
  then FALSE you'd end up in a broken state where a HTTP request would do a
  HEAD by still act a lot like for a GET and hang waiting for the content etc.

- Scott Barrett added support for CURLOPT_NOBODY over SFTP
- Scott Barrett added support for CURLOPT_NOBODY over SFTP


Daniel Fandrich (3 Apr 2008)
Daniel Fandrich (3 Apr 2008)
+2 −1
Original line number Original line Diff line number Diff line
@@ -15,7 +15,8 @@ This release includes the following changes:


This release includes the following bugfixes:
This release includes the following bugfixes:


 o 
 o CURLOPT_NOBODY first set to TRUE and then FALSE for HTTP no longer causes
   the confusion that could lead to a hung transfer


This release includes the following known bugs:
This release includes the following known bugs:


+0 −3
Original line number Original line Diff line number Diff line
@@ -7,7 +7,4 @@ To be addressed before 7.18.2 (planned release: June 2008)


130 - Vincent Le Normand's SFTP patch for touch (lacking feedback)
130 - Vincent Le Normand's SFTP patch for touch (lacking feedback)


133 - Setting CURLOPT_NOBODY to "false" causes cURL to wait for content if a
      content-length header is read

134 - 
134 - 
+7 −3
Original line number Original line Diff line number Diff line
@@ -858,9 +858,13 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
     * Do not include the body part in the output data stream.
     * Do not include the body part in the output data stream.
     */
     */
    data->set.opt_no_body = (bool)(0 != va_arg(param, long));
    data->set.opt_no_body = (bool)(0 != va_arg(param, long));
    if(data->set.opt_no_body)

      /* in HTTP lingo, this means using the HEAD request */
    /* in HTTP lingo, no body means using the HEAD request and if unset there
      data->set.httpreq = HTTPREQ_HEAD;
       really is no perfect method that is the "opposite" of HEAD but in
       reality most people probably think GET then. The important thing is
       that we can't let it remain HEAD if the opt_no_body is set FALSE since
       then we'll behave wrong when getting HTTP. */
    data->set.httpreq = data->set.opt_no_body?HTTPREQ_HEAD:HTTPREQ_GET;
    break;
    break;
  case CURLOPT_FAILONERROR:
  case CURLOPT_FAILONERROR:
    /*
    /*