| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- .\" generated by cd2nroff 0.1 from curl_formget.md
- .TH curl_formget 3 "2025-01-17" libcurl
- .SH NAME
- curl_formget \- serialize a multipart form POST chain
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- int curl_formget(struct curl_httppost * form, void *userp,
- curl_formget_callback append);
- .fi
- .SH DESCRIPTION
- The form API (including this function) is deprecated since libcurl 7.56.0.
- curl_formget() serializes data previously built with \fIcurl_formadd(3)\fP. It
- accepts a void pointer as second argument named \fIuserp\fP which is passed as the
- first argument to the curl_formget_callback function.
- .nf
- typedef size_t (*curl_formget_callback)(void *userp, const char *buf,
- size_t len);"
- .fi
- The curl_formget_callback is invoked for each part of the HTTP POST chain. The
- character buffer passed to the callback must not be freed. The callback should
- return the buffer length passed to it on success.
- If the \fBCURLFORM_STREAM\fP option is used in the formpost, it prevents
- \fIcurl_formget(3)\fP from working until you have performed the actual HTTP request.
- This, because first then does libcurl known which actual read callback to use!
- .SH PROTOCOLS
- This functionality affects http only
- .SH EXAMPLE
- .nf
- size_t print_httppost_callback(void *arg, const char *buf, size_t len)
- {
- fwrite(buf, len, 1, stdout);
- (*(size_t *) arg) += len;
- return len;
- }
- size_t print_httppost(struct curl_httppost *post)
- {
- size_t total_size = 0;
- if(curl_formget(post, &total_size, print_httppost_callback)) {
- return (size_t) -1;
- }
- return total_size;
- }
- .fi
- .SH AVAILABILITY
- Added in curl 7.15.5
- .SH RETURN VALUE
- 0 means everything was OK, non\-zero means an error occurred
- .SH SEE ALSO
- .BR curl_formadd (3),
- .BR curl_mime_init (3)
|