25#include <nawa/request/RequestInitContainer.h>
30struct 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);
46request::Post::operator bool()
const {
47 return !(getMultimap().empty() && data->fileMap.empty());
50shared_ptr<string const> request::Post::getRaw()
const {
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);
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)