#include "HTTPPUTHandler.h" #include "HTTPSession.h" #include "HTTPServer.h" #include "HTTPRequest.h" #include "ZString.h" #include "IMFFormData.h" #include "Log.h" namespace http { int HTTPPUTHandler::processCommand(coreutils::ZString &request, core::TCPSession &session) { HTTPRequest httpRequest(request); HTTPSession *httpSession = static_cast(session.server)->httpSessions.findSessionByHeader(httpRequest); std::stringstream content; HTTPParameters p(httpRequest, session, *httpSession, content, ((HTTPServer *)session.server)->actionList); try { ((HTTPServer *)(session.server))->pageList.processRequest(p); httpRequest.response.setCode("200"); httpRequest.response.setText("OK"); } catch(...) {} session.out << httpRequest.response.getResponse(content).str(); // coreutils::Log(coreutils::LOG_DEBUG_1) << session.out.str(); return true; } }