CURLOPT_PREREQFUNCTION: add new callback

Triggered before a request is made but after a connection is set up

Changes:

- callback: Update docs and callback for pre-request callback
- Add documentation for CURLOPT_PREREQDATA and CURLOPT_PREREQFUNCTION,
- Add redirect test and callback failure test
- Note that the function may be called multiple times on a redirection
- Disable new 2086 test due to Windows weirdness

Closes #7477
This commit is contained in:
Max Dymond 2021-07-22 15:32:30 +01:00 committed by Daniel Stenberg
parent 06981ba7f6
commit a517378de5
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
21 changed files with 602 additions and 4 deletions

View file

@ -3013,6 +3013,12 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
return result;
break;
#endif
case CURLOPT_PREREQFUNCTION:
data->set.fprereq = va_arg(param, curl_prereq_callback);
break;
case CURLOPT_PREREQDATA:
data->set.prereq_userp = va_arg(param, void *);
break;
default:
/* unknown tag and its companion, just ignore: */
result = CURLE_UNKNOWN_OPTION;