summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authortastytea2020-01-11 14:27:10 +0100
committertastytea2020-01-11 14:36:49 +0100
commit8d04f7e9ea8896f0e2e5b85cc8b86ef15a4d74aa (patch)
tree2b131ae4a079a7987942d17f30c00fe78138dd05 /src
parent18de12c762df2ed5a183bb0119182eb6ec0cc8b1 (diff)
downloadmastodonpp-8d04f7e9ea8896f0e2e5b85cc8b86ef15a4d74aa.tar
mastodonpp-8d04f7e9ea8896f0e2e5b85cc8b86ef15a4d74aa.tar.gz
mastodonpp-8d04f7e9ea8896f0e2e5b85cc8b86ef15a4d74aa.zip
Add support for sending files in HTTP forms.
Diffstat (limited to 'src')
-rw-r--r--src/curl_wrapper.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/curl_wrapper.cpp b/src/curl_wrapper.cpp
index 4853628..047b799 100644
--- a/src/curl_wrapper.cpp
+++ b/src/curl_wrapper.cpp
@@ -354,7 +354,15 @@ void CURLWrapper::add_mime_part(curl_mime *mime,
throw CURLException{code, "Could not build HTTP form."};
}
- code = curl_mime_data(part, data.data(), CURL_ZERO_TERMINATED);
+ if (data.substr(0, 6) == "@file:")
+ {
+ const string_view filename{data.substr(6)};
+ code = curl_mime_filedata(part, filename.data());
+ }
+ else
+ {
+ code = curl_mime_data(part, data.data(), CURL_ZERO_TERMINATED);
+ }
if (code != CURLE_OK)
{
throw CURLException{code, "Could not build HTTP form."};