From 1910e780b0fd3b3a57444537ab21cc263532ff86 Mon Sep 17 00:00:00 2001 From: tastytea Date: Fri, 10 Jan 2020 14:24:35 +0100 Subject: [PATCH] Add vector fields to HTTP forms. --- src/curl_wrapper.cpp | 18 ++++++++++++------ 1 file 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(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>(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)