configure, cmake, lib: more form api deprecation

Introduce a --enable-form-api configure option to control its inclusion
in builds. The condition name defined for it is CURL_DISABLE_FORM_API.

Form api code is dependent of MIME: configure and CMake handle this
dependency automatically: CMake by making it a dependent option
explicitly, configure by inheriting the MIME value by default and
rejecting explicit incompatible values.

"form-api" is now a new hidden test feature.

Update libcurl modules to respect this option and adjust tests
accordingly.

Closes #9621
This commit is contained in:
Patrick Monnerat 2022-11-15 17:50:22 +01:00 committed by Daniel Stenberg
parent 50e563253d
commit 038c46f61f
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
18 changed files with 62 additions and 19 deletions

View file

@ -2372,6 +2372,7 @@ CURLcode Curl_http_body(struct Curl_easy *data, struct connectdata *conn,
case HTTPREQ_POST_MIME:
http->sendit = &data->set.mimepost;
break;
#ifndef CURL_DISABLE_FORM_API
case HTTPREQ_POST_FORM:
/* Convert the form structure into a mime structure. */
Curl_mime_cleanpart(&http->form);
@ -2381,6 +2382,7 @@ CURLcode Curl_http_body(struct Curl_easy *data, struct connectdata *conn,
return result;
http->sendit = &http->form;
break;
#endif
default:
http->sendit = NULL;
}