summaryrefslogtreecommitdiff
path: root/project2/cgi
diff options
context:
space:
mode:
authorrandomdan <randomdan@localhost>2011-02-15 01:25:15 +0000
committerrandomdan <randomdan@localhost>2011-02-15 01:25:15 +0000
commitc2ebaea6aec207afed1855dd4034f975333f694a (patch)
treead1d78078e525a5f7571ab8479018aa5ed8bbc96 /project2/cgi
parentCommit some changes I'd swear blind I'd done already (diff)
downloadproject2-c2ebaea6aec207afed1855dd4034f975333f694a.tar.bz2
project2-c2ebaea6aec207afed1855dd4034f975333f694a.tar.xz
project2-c2ebaea6aec207afed1855dd4034f975333f694a.zip
Add debug option for dumping the data document before sending it to the web server
Diffstat (limited to 'project2/cgi')
-rw-r--r--project2/cgi/cgiAppEngine.cpp5
-rw-r--r--project2/cgi/cgiEnvironment.cpp6
-rw-r--r--project2/cgi/cgiEnvironment.h4
3 files changed, 15 insertions, 0 deletions
diff --git a/project2/cgi/cgiAppEngine.cpp b/project2/cgi/cgiAppEngine.cpp
index 364d393..1d00c18 100644
--- a/project2/cgi/cgiAppEngine.cpp
+++ b/project2/cgi/cgiAppEngine.cpp
@@ -62,6 +62,11 @@ CgiApplicationEngine::process() const
header->setCookie(cgicc::HTTPCookie(SESSIONID, sessionID.str(), "Session ID",
_env->getServerName().substr(_env->getServerName().find(".")), 3600, "/", false));
}
+#ifndef NDEBUG
+ if (!_env->dumpdatadoc.empty()) {
+ doc->write_to_file_formatted(_env->dumpdatadoc);
+ }
+#endif
}
CgiApplicationEngine::Stage::Stage(const CgiApplicationEngine * e) : appEngine(e)
diff --git a/project2/cgi/cgiEnvironment.cpp b/project2/cgi/cgiEnvironment.cpp
index ae65183..aa9e57f 100644
--- a/project2/cgi/cgiEnvironment.cpp
+++ b/project2/cgi/cgiEnvironment.cpp
@@ -27,6 +27,12 @@ boost::program_options::options_description
CgiEnvironment::addOptions(boost::program_options::positional_options_description &)
{
boost::program_options::options_description cgi("Project2 CGI options");
+#ifndef NDEBUG
+ cgi.add_options()
+ ("dumpdatadoc", boost::program_options::value<std::string>(&dumpdatadoc),
+ "Write a copy of the data document before sending it to the web server")
+ ;
+#endif
return cgi;
}
diff --git a/project2/cgi/cgiEnvironment.h b/project2/cgi/cgiEnvironment.h
index 005a49b..1774417 100644
--- a/project2/cgi/cgiEnvironment.h
+++ b/project2/cgi/cgiEnvironment.h
@@ -26,6 +26,10 @@ class CgiEnvironment : public Environment, public cgicc::CgiEnvironment {
private:
boost::program_options::options_description addOptions(boost::program_options::positional_options_description &);
void postinit(const boost::program_options::options_description &, const boost::program_options::variables_map &);
+#ifndef NDEBUG
+ public:
+ std::string dumpdatadoc;
+#endif
};
#endif