diff options
author | randomdan <randomdan@localhost> | 2011-11-25 20:10:37 +0000 |
---|---|---|
committer | randomdan <randomdan@localhost> | 2011-11-25 20:10:37 +0000 |
commit | 9f30fb16250d7960a93e8a8e91be6c5a7678b3af (patch) | |
tree | 8dffb8306f8cf5974fdb73f3132e8be8602d71e6 /project2/cgi | |
parent | Remove the need to implement loadComplete which is empty in most cases (diff) | |
download | project2-9f30fb16250d7960a93e8a8e91be6c5a7678b3af.tar.bz2 project2-9f30fb16250d7960a93e8a8e91be6c5a7678b3af.tar.xz project2-9f30fb16250d7960a93e8a8e91be6c5a7678b3af.zip |
Don't needlessly write empty sessions
Diffstat (limited to 'project2/cgi')
-rw-r--r-- | project2/cgi/cgiAppEngine.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/project2/cgi/cgiAppEngine.cpp b/project2/cgi/cgiAppEngine.cpp index 37ae19c..45ccd95 100644 --- a/project2/cgi/cgiAppEngine.cpp +++ b/project2/cgi/cgiAppEngine.cpp @@ -49,6 +49,7 @@ CgiApplicationEngine::env() const void CgiApplicationEngine::process() const { + bool sessionEmpty = cursession->Empty(); startTime = boost::date_time::microsec_clock<boost::posix_time::ptime>::universal_time(); bool triedNotFound = false; bool triedOnError = false; @@ -85,8 +86,11 @@ CgiApplicationEngine::process() const addEnvData(currentStage.get<3>().get()); } HttpHeaderPtr header = rs->getHeader(); - header->setCookie(cgicc::HTTPCookie(SESSIONID, cursession->ID.str(), "Session ID", - _env->getServerName().substr(_env->getServerName().find(".")), env()->sessionTimeOut, "/", false)); + if (!sessionEmpty || !cursession->Empty()) { + sessionsContainer->SaveSession(cursession); + header->setCookie(cgicc::HTTPCookie(SESSIONID, cursession->ID.str(), "Session ID", + _env->getServerName().substr(_env->getServerName().find(".")), env()->sessionTimeOut, "/", false)); + } header->render(IO); if (currentStage.get<2>()) { TransformSourcePtr ts = currentStage.get<2>(); @@ -101,7 +105,6 @@ CgiApplicationEngine::process() const delete ddd; } } - sessionsContainer->SaveSession(cursession); } CgiApplicationEngine::Stage::Stage(const CgiEnvironment * env) : |