| .\" ************************************************************************** | 
 | .\" *                                  _   _ ____  _ | 
 | .\" *  Project                     ___| | | |  _ \| | | 
 | .\" *                             / __| | | | |_) | | | 
 | .\" *                            | (__| |_| |  _ <| |___ | 
 | .\" *                             \___|\___/|_| \_\_____| | 
 | .\" * | 
 | .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al. | 
 | .\" * | 
 | .\" * This software is licensed as described in the file COPYING, which | 
 | .\" * you should have received as part of this distribution. The terms | 
 | .\" * are also available at https://curl.haxx.se/docs/copyright.html. | 
 | .\" * | 
 | .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell | 
 | .\" * copies of the Software, and permit persons to whom the Software is | 
 | .\" * furnished to do so, under the terms of the COPYING file. | 
 | .\" * | 
 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | 
 | .\" * KIND, either express or implied. | 
 | .\" * | 
 | .\" ************************************************************************** | 
 | .TH curl_mime_encoder 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual" | 
 | .SH NAME | 
 | curl_mime_encoder - set a mime part's encoder and content transfer encoding | 
 | .SH SYNOPSIS | 
 | .B #include <curl/curl.h> | 
 | .sp | 
 | .BI "CURLcode curl_mime_encoder(curl_mimepart * " part , | 
 | .BI "const char * " encoding ");" | 
 | .ad | 
 | .SH DESCRIPTION | 
 | curl_mime_encoder() requests a mime part's content to be encoded before being | 
 | transmitted. | 
 |  | 
 | \fIpart\fP is the part's handle to assign an encoder. | 
 | \fIencoding\fP is a pointer to a zero-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's encoder twice is valid: only the value set by the last call is | 
 | retained. | 
 |  | 
 | Upon multipart rendering, the part's content is encoded according to the | 
 | pertaining scheme and a corresponding \fIContent-Transfer-Encoding"\fP header | 
 | is added to the part. | 
 |  | 
 | Supported encoding schemes are: | 
 | .br | 
 | "\fIbinary\fP": the data is left unchanged, the header is added. | 
 | .br | 
 | "\fI8bit\fP": header added, no data change. | 
 | .br | 
 | "\fI7bit\fP": the data is unchanged, but is each byte is checked | 
 | to be a 7-bit value; if not, a read error occurs. | 
 | .br | 
 | "\fIbase64\fP": Data is converted to base64 encoding, then split in | 
 | CRLF-terminated lines of at most 76 characters. | 
 | .br | 
 | "\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\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\fP() is | 
 | strongly discouraged. | 
 | .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 EXAMPLE | 
 | .nf | 
 |  curl_mime *mime; | 
 |  curl_mimepart *part; | 
 |  | 
 |  /* create a mime handle */ | 
 |  mime = curl_mime_init(easy); | 
 |  | 
 |  /* 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 "SEE ALSO" | 
 | .BR curl_mime_addpart "(3)," | 
 | .BR curl_mime_headers "(3)," | 
 | .BR curl_mime_subparts "(3)" |