![]() |
boost::taar::handler::multipart_form_arg — Argument provider that parses a buffered multipart/form-data body.
// In header: <boost/taar/handler/rest_arg.hpp> struct multipart_form_arg { // public member functions explicit multipart_form_arg(::boost::taar::handler::description = {}); std::string name() const; std::string const & description() const; taar::result< multipart_form > operator()(boost::beast::http::request< boost::beast::http::string_body > const &, matcher::context const &) const; // public data members std::string description_; };
The callable parameter is multipart_form (or multipart_form const&). Requests whose Content-Type is not multipart/form-data with a boundary are reported as error::invalid_content_type; a malformed body as error::invalid_request_format. The whole body is buffered under the session's body limit; use multipart_stream_arg for large uploads.
rest([](taar::multipart_form form) { auto title = form.value("title").value_or(""); auto const* file = form.find("attachment"); return std::to_string(file ? file->data.size() : 0); }, multipart_form_arg {});
multipart_form_arg public member functionsexplicit multipart_form_arg(::boost::taar::handler::description d = {});
std::string name() const;
std::string const & description() const;
taar::result< multipart_form > operator()(boost::beast::http::request< boost::beast::http::string_body > const & request, matcher::context const &) const;