14 #include "eckit/utils/StringTools.h"
15 #include "eckit/exception/Exceptions.h"
16 #include "eckit/log/Log.h"
17 #include "eckit/types/Types.h"
30 for (
const auto& kv : request) {
31 std::vector<std::string>& values(r[kv.first]);
32 std::transform(kv.second.begin(), kv.second.end(), std::back_inserter(values), eckit::StringTools::unQuote);
43 for (
const auto& kv : request) {
44 lreq[eckit::StringTools::lower(kv.first)] = kv.second;
47 for (
const std::string& kw : keywords) {
48 if (lreq.find(kw) == lreq.end() || lreq[kw].size() < 1) {
49 throw eckit::UserError(
"At least one value required for keyword: " + kw, Here());
52 eckit::Log::info() <<
":: - " << kw <<
" " << lreq[kw] << std::endl;
RequestDict unquoteRequestValues(const RequestDict &request)
void checkKeywordsHaveValues(const RequestDict &request, const std::vector< std::string > &keywords)
std::map< std::string, std::vector< std::string > > RequestDict