- // 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
- std::map<std::string,std::string> args;\r
- std::vector<std::string> argparts;\r
- \r
- if(mystate->m_indata)\r
- {\r
- StringFunctions::Split(mystate->m_indata,"&",argparts);\r
- }\r
- if(shttpd_get_env(arg,"QUERY_STRING"))\r
- {\r
- StringFunctions::Split(shttpd_get_env(arg,"QUERY_STRING"),"&",argparts);\r
- }\r
- for(std::vector<std::string>::iterator argi=argparts.begin(); argi!=argparts.end(); argi++)\r
- {\r
- std::vector<std::string> parts;\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
- }\r
+ // get any multiparts\r
+ std::map<std::string,std::string> mpvars=mpp.GetVars();\r
+ for(std::map<std::string,std::string>::iterator i=mpvars.begin(); i!=mpvars.end(); i++)\r
+ {\r
+ vars[(*i).first]=(*i).second;\r
+ }\r