From 4497f8ed4cc6a28b93c3c4c5aa927ab79693a85d Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sat, 3 Mar 2018 18:24:48 +0000 Subject: Dedupe map dumping --- icespider/fcgi/cgiRequestBase.cpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/icespider/fcgi/cgiRequestBase.cpp b/icespider/fcgi/cgiRequestBase.cpp index 6a22426..48a9daa 100644 --- a/icespider/fcgi/cgiRequestBase.cpp +++ b/icespider/fcgi/cgiRequestBase.cpp @@ -91,25 +91,26 @@ namespace IceSpider { AdHocFormatter(VarFmt, "\t%?: [%?]\n"); AdHocFormatter(PathFmt, "\t[%?]\n"); + template + void + dumpMap(std::ostream & s, const std::string_view & n, const Map & map) + { + s << n << std::endl; + for (const auto & p : map) { + Fmt::write(s, p.first, p.second); + } + } + std::ostream & CgiRequestBase::dump(std::ostream & s) const { - s << "Environment dump" << std::endl; - for (const auto & e : envmap) { - VarFmt::write(s, e.first, e.second); - } + dumpMap(s, "Environment dump"sv, envmap); s << "Path dump" << std::endl; for (const auto & e : pathElements) { PathFmt::write(s, e); } - s << "Query string dump" << std::endl; - for (const auto & v : qsmap) { - VarFmt::write(s, v.first, v.second); - } - s << "Cookie dump" << std::endl; - for (const auto & c : cookiemap) { - VarFmt::write(s, c.first, c.second); - } + dumpMap(s, "Query string dump"sv, qsmap); + dumpMap(s, "Cookie dump"sv, cookiemap); return s; } -- cgit v1.2.3