From d5a2df5f1d41787ff7847466fee48a2fefba6fbd Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 21 May 2018 10:26:24 +0200 Subject: [PATCH] docs: clarify CURLOPT_HTTPGET somewhat Reported-by: bsammon on github Fixes #2590 --- docs/libcurl/opts/CURLOPT_HTTPGET.3 | 13 +++++++++---- docs/libcurl/opts/CURLOPT_POST.3 | 6 +++--- docs/libcurl/opts/CURLOPT_POSTFIELDS.3 | 4 ++-- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/docs/libcurl/opts/CURLOPT_HTTPGET.3 b/docs/libcurl/opts/CURLOPT_HTTPGET.3 index 36995fb33..831fed81a 100644 --- a/docs/libcurl/opts/CURLOPT_HTTPGET.3 +++ b/docs/libcurl/opts/CURLOPT_HTTPGET.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. +.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -34,6 +34,10 @@ same curl \fIhandle\fP. When setting \fICURLOPT_HTTPGET(3)\fP to 1, it will automatically set \fICURLOPT_NOBODY(3)\fP to 0 and \fICURLOPT_UPLOAD(3)\fP to 0. + +Setting this option to zero has no effect. Applications need to explicitly +select which HTTP request method to use, they cannot deselect a method. To +reset a handle to default method, consider \fIcurl_easy_reset(3)\fP. .SH DEFAULT 0 .SH PROTOCOLS @@ -44,10 +48,10 @@ curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); - /* use a GET to fetch this */ + /* use a GET to fetch this */ curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L); - /* Perform the request */ + /* Perform the request */ curl_easy_perform(curl); } .fi @@ -56,4 +60,5 @@ Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" -.BR CURLOPT_NOBODY "(3), " CURLOPT_UPLOAD "(3), " +.BR CURLOPT_NOBODY "(3), " CURLOPT_UPLOAD "(3), " CURLOPT_POST "(3), " +.BR curl_easy_reset "(3) " diff --git a/docs/libcurl/opts/CURLOPT_POST.3 b/docs/libcurl/opts/CURLOPT_POST.3 index 71bbd2eea..66e5c6ac7 100644 --- a/docs/libcurl/opts/CURLOPT_POST.3 +++ b/docs/libcurl/opts/CURLOPT_POST.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, , et al. +.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -57,8 +57,8 @@ adding a header like "Transfer-Encoding: chunked" with \fICURLOPT_HTTPHEADER(3)\fP. With HTTP 1.0 or without chunked transfer, you must specify the size in the request. -When setting \fICURLOPT_POST(3)\fP to 1, it will automatically set -\fICURLOPT_NOBODY(3)\fP to 0. +When setting \fICURLOPT_POST(3)\fP to 1, libcurl will automatically set +\fICURLOPT_NOBODY(3)\fP and \fICURLOPT_HTTPGET(3)\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 explicitly set the new request type using diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 index 285ab2551..857e1d987 100644 --- a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 +++ b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, , et al. +.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -45,7 +45,7 @@ used by HTML forms. Change Content-Type with \fICURLOPT_HTTPHEADER(3)\fP. You can use \fIcurl_easy_escape(3)\fP to url-encode your data, if necessary. It returns a pointer to an encoded string that can be passed as \fIpostdata\fP. -Using \fICURLOPT_POSTFIELDS(3)\fP implies \fICURLOPT_POST(3)\fP. +Using \fICURLOPT_POSTFIELDS(3)\fP implies setting \fICURLOPT_POST(3)\fP to 1. If \fICURLOPT_POSTFIELDS(3)\fP is explicitly set to NULL then libcurl will get the POST data from the read callback. If you want to send a zero-byte POST set