30 struct request::Post::Data {
31 std::string contentType;
32 std::shared_ptr<std::string> rawPost;
33 std::unordered_multimap<std::string, File> fileMap;
35 explicit Data(
RequestInitContainer const& requestInit) : contentType(requestInit.postContentType),
36 rawPost(requestInit.rawPost),
37 fileMap(requestInit.postFiles) {}
43 data = make_unique<Data>(requestInit);
46 request::Post::operator bool()
const {
47 return !(getMultimap().empty() && data->fileMap.empty());
55 return data->contentType;
59 return !data->fileMap.empty();
63 auto e = data->fileMap.find(key);
64 if (e != data->fileMap.end())
71 auto e = data->fileMap.equal_range(key);
72 for (
auto it = e.first; it != e.second; ++it) {
73 ret.push_back(it->second);
79 return data->fileMap.count(key);
Container used by request handlers to initiate the nawa::Request object.
std::shared_ptr< std::string const > getRaw() const
std::optional< File > getFile(std::string const &key) const
std::string getContentType() const
std::vector< File > getFileVector(std::string const &key) const
std::unordered_multimap< std::string, File > const & getFileMultimap() const
size_t countFiles(std::string const &key) const
#define NAWA_DEFAULT_DESTRUCTOR_IMPL_WITH_NS(Namespace, Class)