mirror of
https://codeberg.org/kiss-community/repo
synced 2024-08-20 13:16:19 +00:00
86 lines
2.8 KiB
Groff
86 lines
2.8 KiB
Groff
.\" generated by cd2nroff 0.1 from curl_mime_encoder.md
|
|
.TH curl_mime_encoder 3 "2024-06-01" libcurl
|
|
.SH NAME
|
|
curl_mime_encoder \- set a mime part\(aqs encoder and content transfer encoding
|
|
.SH SYNOPSIS
|
|
.nf
|
|
#include <curl/curl.h>
|
|
|
|
CURLcode curl_mime_encoder(curl_mimepart *part, const char *encoding);
|
|
.fi
|
|
.SH DESCRIPTION
|
|
curl_mime_encoder() requests a mime part\(aqs content to be encoded before being
|
|
transmitted.
|
|
|
|
\fIpart\fP is the part\(aqs handle to assign an encoder.
|
|
\fIencoding\fP is a pointer to a null\-terminated encoding scheme. It may be
|
|
set to NULL to disable an encoder previously attached to the part. The encoding
|
|
scheme storage may safely be reused after this function returns.
|
|
|
|
Setting a part\(aqs encoder multiple times is valid: only the value set by the
|
|
last call is retained.
|
|
|
|
Upon multipart rendering, the part\(aqs content is encoded according to the
|
|
pertaining scheme and a corresponding \fI"Content\-Transfer\-Encoding"\fP header
|
|
is added to the part.
|
|
|
|
Supported encoding schemes are:
|
|
|
|
\&"\fIbinary\fP": the data is left unchanged, the header is added.
|
|
|
|
\&"\fI8bit\fP": header added, no data change.
|
|
|
|
\&"\fI7bit\fP": the data is unchanged, but is each byte is checked
|
|
to be a 7\-bit value; if not, a read error occurs.
|
|
|
|
\&"\fIbase64\fP": Data is converted to base64 encoding, then split in
|
|
CRLF\-terminated lines of at most 76 characters.
|
|
|
|
\&"\fIquoted\-printable\fP": data is encoded in quoted printable lines of
|
|
at most 76 characters. Since the resulting size of the final data cannot be
|
|
determined prior to reading the original data, it is left as unknown, causing
|
|
chunked transfer in HTTP. For the same reason, this encoder may not be used
|
|
with IMAP. This encoder targets text data that is mostly ASCII and should
|
|
not be used with other types of data.
|
|
|
|
If the original data is already encoded in such a scheme, a custom
|
|
\fIContent\-Transfer\-Encoding\fP header should be added with
|
|
\fIcurl_mime_headers(3)\fP instead of setting a part encoder.
|
|
|
|
Encoding should not be applied to multiparts, thus the use of this function on
|
|
a part with content set with \fIcurl_mime_subparts(3)\fP is strongly
|
|
discouraged.
|
|
.SH PROTOCOLS
|
|
HTTP, IMAP and SMTP
|
|
.SH EXAMPLE
|
|
.nf
|
|
int main(void)
|
|
{
|
|
curl_mime *mime;
|
|
curl_mimepart *part;
|
|
|
|
CURL *curl = curl_easy_init();
|
|
if(curl) {
|
|
/* create a mime handle */
|
|
mime = curl_mime_init(curl);
|
|
|
|
/* add a part */
|
|
part = curl_mime_addpart(mime);
|
|
|
|
/* send a file */
|
|
curl_mime_filedata(part, "image.png");
|
|
|
|
/* encode file data in base64 for transfer */
|
|
curl_mime_encoder(part, "base64");
|
|
}
|
|
}
|
|
.fi
|
|
.SH AVAILABILITY
|
|
As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
|
|
.SH RETURN VALUE
|
|
CURLE_OK or a CURL error code upon failure.
|
|
.SH SEE ALSO
|
|
.BR curl_mime_addpart (3),
|
|
.BR curl_mime_headers (3),
|
|
.BR curl_mime_subparts (3)
|