diff options
author | tastytea | 2020-01-10 14:24:35 +0100 |
---|---|---|
committer | tastytea | 2020-01-10 14:24:35 +0100 |
commit | 1910e780b0fd3b3a57444537ab21cc263532ff86 (patch) | |
tree | e3982820d11e3a3382c809558bb18a6432c3d28f /src | |
parent | 89c50951b3b17159f3267373edba73eb9849b78d (diff) | |
download | mastodonpp-1910e780b0fd3b3a57444537ab21cc263532ff86.tar mastodonpp-1910e780b0fd3b3a57444537ab21cc263532ff86.tar.gz mastodonpp-1910e780b0fd3b3a57444537ab21cc263532ff86.zip |
Add vector fields to HTTP forms.
Diffstat (limited to 'src')
-rw-r--r-- | src/curl_wrapper.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/curl_wrapper.cpp b/src/curl_wrapper.cpp index ae7562c..86d3073 100644 --- a/src/curl_wrapper.cpp +++ b/src/curl_wrapper.cpp @@ -325,15 +325,15 @@ curl_mime *CURLWrapper::parameters_to_curl_mime(string &uri, continue; } - curl_mimepart *part{curl_mime_addpart(mime)}; - if (part == nullptr) - { - throw CURLException{"Could not build HTTP form."}; - } - CURLcode code; if (holds_alternative<string_view>(param.second)) { + curl_mimepart *part{curl_mime_addpart(mime)}; + if (part == nullptr) + { + throw CURLException{"Could not build HTTP form."}; + } + code = curl_mime_name(part, param.first.data()); if (code != CURLE_OK) { @@ -353,6 +353,12 @@ curl_mime *CURLWrapper::parameters_to_curl_mime(string &uri, { for (const auto &arg : get<vector<string_view>>(param.second)) { + curl_mimepart *part{curl_mime_addpart(mime)}; + if (part == nullptr) + { + throw CURLException{"Could not build HTTP form."}; + } + const string name{string(param.first) += "[]"}; code = curl_mime_name(part, name.c_str()); if (code != CURLE_OK) |