// Dispatched on the job queue void ServerHandlerImp::processSession (Job& job, HTTP::Session& session) { auto const s (to_string(session.message().body)); session.write (processRequest (to_string(session.message().body), session.remoteAddress().at_port(0))); if (session.message().keep_alive()) { session.complete(); } else { session.close (true); } }
void ServerHandlerImp::onRequest (HTTP::Session& session) { // Check user/password authorization auto const headers (build_map (session.message().headers)); if (! HTTPAuthorized (headers)) { session.write (HTTPReply (403, "Forbidden")); session.close (true); return; } session.detach(); m_jobQueue.addJob (jtCLIENT, "RPC-Client", std::bind ( &ServerHandlerImp::processSession, this, std::placeholders::_1, std::ref (session))); }