mark_as_advanced(CURL_DISABLE_DOH)
option(CURL_DISABLE_FILE "disables FILE" OFF)
mark_as_advanced(CURL_DISABLE_FILE)
+cmake_dependent_option(CURL_DISABLE_FORM_API "disables form api" OFF
+ "NOT CURL_DISABLE_MIME" ON)
+mark_as_advanced(CURL_DISABLE_FORM_API)
option(CURL_DISABLE_FTP "disables FTP" OFF)
mark_as_advanced(CURL_DISABLE_FTP)
option(CURL_DISABLE_GETOPTIONS "disables curl_easy_options API for existing options to curl_easy_setopt" OFF)
AC_MSG_RESULT(yes)
)
+dnl ************************************************************
+dnl disable form API support
+dnl
+AC_MSG_CHECKING([whether to support the form API])
+AC_ARG_ENABLE(form-api,
+AS_HELP_STRING([--enable-form-api],[Enable form API support])
+AS_HELP_STRING([--disable-form-api],[Disable form API support]),
+[ case "$enableval" in
+ no) AC_MSG_RESULT(no)
+ AC_DEFINE(CURL_DISABLE_FORM_API, 1, [disable form API])
+ ;;
+ *) AC_MSG_RESULT(yes)
+ test "$enable_mime" = no &&
+ AC_MSG_ERROR(MIME support needs to be enabled in order to enable form API support)
+ ;;
+ esac ],
+[
+ if test "$enable_mime" = no; then
+ enable_form_api=no
+ AC_MSG_RESULT(no)
+ AC_DEFINE(CURL_DISABLE_FORM_API, 1, [disable form API])
+ else
+ AC_MSG_RESULT(yes)
+ fi ]
+)
+
dnl ************************************************************
dnl disable date parsing
dnl
Disable the FILE protocol
+## `CURL_DISABLE_FORM_API`
+
+Disable the form API
+
## `CURL_DISABLE_FTP`
Disable the FTP (and FTPS) protocol
/* disables FILE */
#cmakedefine CURL_DISABLE_FILE 1
+/* disables form api */
+#cmakedefine CURL_DISABLE_FORM_API 1
+
/* disables FTP */
#cmakedefine CURL_DISABLE_FTP 1
#include <curl/curl.h>
#include "formdata.h"
-#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_MIME)
+#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_FORM_API)
#if defined(HAVE_LIBGEN_H) && defined(HAVE_BASENAME)
#include <libgen.h>
void curl_formfree(struct curl_httppost *form)
{
(void)form;
- /* does nothing HTTP is disabled */
+ /* Nothing to do. */
}
#endif /* if disabled */
#include "curl_setup.h"
-#ifndef CURL_DISABLE_MIME
+#ifndef CURL_DISABLE_FORM_API
/* used by FormAdd for temporary storage */
struct FormInfo {
curl_mimepart *,
struct curl_httppost *post,
curl_read_callback fread_func);
-#else
-/* disabled */
-#define Curl_getformdata(a,b,c,d) CURLE_NOT_BUILT_IN
-#endif
+#endif /* CURL_DISABLE_FORM_API */
#endif /* HEADER_CURL_FORMDATA_H */
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);
return result;
http->sendit = &http->form;
break;
+#endif
default:
http->sendit = NULL;
}
data->set.method = HTTPREQ_GET;
break;
-#ifndef CURL_DISABLE_MIME
+#ifndef CURL_DISABLE_FORM_API
case CURLOPT_HTTPPOST:
/*
* Set to make us do HTTP POST
unittest
curl_formadd
curl_formget
+FORM
</keywords>
</info>
#
# Client-side
<client>
-<server>
-none
-</server>
<features>
unittest
http
-Mime
+form-api
</features>
+<server>
+none
+</server>
<name>
formpost unit tests
</name>
<keywords>
HTTP
HTTP POST
+FORM
</keywords>
</info>
# Client-side
<client>
<features>
-Mime
+form-api
</features>
<server>
http
<keywords>
HTTP
HTTP POST
+FORM
</keywords>
</info>
# Client-side
<client>
<features>
-Mime
+form-api
</features>
<server>
http
<keywords>
HTTP
HTTP POST
+FORM
flaky
</keywords>
</info>
# Client-side
<client>
<features>
-Mime
+form-api
</features>
<server>
http
# Client-side
<client>
<features>
-Mime
+form-api
</features>
<server>
http
# Client-side
<client>
<features>
-Mime
+form-api
</features>
<server>
http
# Client-side
<client>
<features>
-Mime
+form-api
</features>
<server>
http
# Client-side
<client>
<features>
-Mime
+form-api
</features>
<server>
http
$feature{"DoH"} = 1;
$feature{"HTTP-auth"} = 1;
$feature{"Mime"} = 1;
+ $feature{"form-api"} = 1;
$feature{"netrc"} = 1;
$feature{"parsedate"} = 1;
$feature{"proxy"} = 1;
#endif
#ifndef USE_XATTR
"xattr",
+#endif
+#ifdef CURL_DISABLE_FORM_API
+ "form-api",
#endif
NULL
};