diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3 index 5e51aeffc..66412937b 100644 --- a/docs/libcurl/curl_easy_setopt.3 +++ b/docs/libcurl/curl_easy_setopt.3 @@ -739,13 +739,20 @@ redirections have been followed, the next redirect will cause an error Setting the limit to 0 will make libcurl refuse any redirect. Set it to -1 for an infinite number of redirects (which is the default) .IP CURLOPT_POSTREDIR -A parameter set to 1 tells the library to respect RFC 2616/10.3.2 and not -convert POST requests into GET requests when following a 301 redirection. The -non-RFC behaviour is ubiquitous in web browsers, so the library does the +Pass a bitmask to control how libcurl acts on redirects after POSTs that get a +301 or 302 response back. A parameter with bit 0 set (value +\fBCURL_REDIR_POST_301\fP) tells the library to respect RFC 2616/10.3.2 and +not convert POST requests into GET requests when following a 301 +redirection. Setting bit 1 (value CURL_REDIR_POST_302) makes libcurl maintain +the request method after a 302 redirect. CURL_REDIR_POST_ALL is a convenience +define that sets both bits. + +The non-RFC behaviour is ubiquitous in web browsers, so the library does the conversion by default to maintain consistency. However, a server may requires a POST to remain a POST after such a redirection. This option is meaningful -only when setting \fICURLOPT_FOLLOWLOCATION\fP. (Added in 7.17.1) -(This option was known as CURLOPT_POST301 up to 7.19.0) +only when setting \fICURLOPT_FOLLOWLOCATION\fP. (Added in 7.17.1) (This +option was known as CURLOPT_POST301 up to 7.19.0 as it only supported the 301 +way before then) .IP CURLOPT_PUT A parameter set to 1 tells the library to use HTTP PUT to transfer data. The data should be set with \fICURLOPT_READDATA\fP and \fICURLOPT_INFILESIZE\fP.