summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2019-02-09 12:15:51 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2019-02-09 12:15:51 +0000
commit1aa81ace8caba31f6e635fd07da0235c9ac3411e (patch)
tree0b9898fae2d7817c0a98ea7c64b948f5b527c06f
parentUpdate requiredParameterNotFound type (diff)
downloadicespider-1aa81ace8caba31f6e635fd07da0235c9ac3411e.tar.bz2
icespider-1aa81ace8caba31f6e635fd07da0235c9ac3411e.tar.xz
icespider-1aa81ace8caba31f6e635fd07da0235c9ac3411e.zip
Move result strings around when unencoding x-www-form data
-rw-r--r--icespider/core/xwwwFormUrlEncoded.cpp6
-rw-r--r--icespider/core/xwwwFormUrlEncoded.h2
-rw-r--r--icespider/fcgi/cgiRequestBase.cpp4
3 files changed, 6 insertions, 6 deletions
diff --git a/icespider/core/xwwwFormUrlEncoded.cpp b/icespider/core/xwwwFormUrlEncoded.cpp
index d050d1e..a9e19ba 100644
--- a/icespider/core/xwwwFormUrlEncoded.cpp
+++ b/icespider/core/xwwwFormUrlEncoded.cpp
@@ -166,7 +166,7 @@ namespace IceSpider {
void
XWwwFormUrlEncoded::DeserializeSimple(Slicer::ModelPartPtr mp)
{
- iterateVars([mp](auto, auto v) {
+ iterateVars([mp](auto &&, const auto && v) {
mp->SetValue(SetFromString(v));
});
}
@@ -175,7 +175,7 @@ namespace IceSpider {
XWwwFormUrlEncoded::DeserializeComplex(Slicer::ModelPartPtr mp)
{
mp->Create();
- iterateVars([mp](auto k, auto v) {
+ iterateVars([mp](auto && k, const auto && v) {
if (auto m = mp->GetChild(k)) {
m->SetValue(SetFromString(v));
}
@@ -186,7 +186,7 @@ namespace IceSpider {
void
XWwwFormUrlEncoded::DeserializeDictionary(Slicer::ModelPartPtr mp)
{
- iterateVars([mp](auto k, auto v) {
+ iterateVars([mp](auto && k, const auto && v) {
auto p = mp->GetAnonChild();
p->GetChild(KEY)->SetValue(SetFromString(k));
p->GetChild(VALUE)->SetValue(SetFromString(v));
diff --git a/icespider/core/xwwwFormUrlEncoded.h b/icespider/core/xwwwFormUrlEncoded.h
index fcded49..855f91c 100644
--- a/icespider/core/xwwwFormUrlEncoded.h
+++ b/icespider/core/xwwwFormUrlEncoded.h
@@ -8,7 +8,7 @@
namespace IceSpider {
class XWwwFormUrlEncoded : public Slicer::Deserializer {
public:
- typedef std::function<void(const std::string &, const std::string &)> KVh;
+ typedef std::function<void(const std::string &&, const std::string &&)> KVh;
XWwwFormUrlEncoded(std::istream & in);
diff --git a/icespider/fcgi/cgiRequestBase.cpp b/icespider/fcgi/cgiRequestBase.cpp
index 6acaa38..8735d87 100644
--- a/icespider/fcgi/cgiRequestBase.cpp
+++ b/icespider/fcgi/cgiRequestBase.cpp
@@ -46,8 +46,8 @@ namespace IceSpider {
mapVars(const std::string_view & vn, const in & envmap, out & map, const std::string_view & sp) {
auto qs = envmap.find(vn);
if (qs != envmap.end()) {
- XWwwFormUrlEncoded::iterateVars(qs->second, [&map](const auto & k, const auto & v) {
- map.insert({ k, v });
+ XWwwFormUrlEncoded::iterateVars(qs->second, [&map](const auto && k, const auto && v) {
+ map.emplace(std::move(k), std::move(v));
}, sp);
}
}