// we have all POST data (or it was 0 to begin with) - generate the page\r
if(mystate->m_indatalen==mystate->m_indatapos && mystate->m_outdata==NULL)\r
{\r
- //TODO parse POST data and any QUERY_STRING before generating page\r
+ //parse POST data and any QUERY_STRING before generating page\r
std::map<std::string,std::string> args;\r
std::vector<std::string> argparts;\r
\r
StringFunctions::Split((*argi),"=",parts);\r
if(parts.size()>0)\r
{\r
+ // replace + with space before UriDecoding\r
+ parts[0]=StringFunctions::Replace(parts[0],"+"," ");\r
args[StringFunctions::UriDecode(parts[0])];\r
if(parts.size()>1)\r
{\r
+ // replace + with space before UriDecoding\r
+ parts[1]=StringFunctions::Replace(parts[1],"+"," ");\r
args[StringFunctions::UriDecode(parts[0])]=StringFunctions::UriDecode(parts[1]);\r
}\r
}\r
return false;\r
}\r
}\r
+\r
+const std::string IPageHandler::SanitizeOutput(const std::string &input)\r
+{\r
+ // must do & first because all other elements have & in them!\r
+ std::string output=StringFunctions::Replace(input,"&","&");\r
+ output=StringFunctions::Replace(output,"<","<");\r
+ output=StringFunctions::Replace(output,">",">");\r
+ output=StringFunctions::Replace(output,"\"",""");\r
+ output=StringFunctions::Replace(output," "," ");\r
+ return output;\r
+}\r