--- smsdaemon/embedded-http/embeddedhttp.cpp 2010/04/28 09:01:09 684 +++ smsdaemon/embedded-http/embeddedhttp.cpp 2010/04/29 18:18:18 695 @@ -12,7 +12,7 @@ #include #include -void show_secret(struct mg_connection *conn, const struct mg_request_info *request_info, void *user_data) { +void show_status(struct mg_connection *conn, const struct mg_request_info *request_info, void *user_data) { Common* cmn = Common::instance(); @@ -45,7 +45,9 @@ mg_printf(conn, "%s", "Content-Type: text/html\r\n\r\n"); mg_printf(conn, "%s", "

smsdaemon

\n"); - mg_printf(conn, "%s", "smsdaemon status\n"); + mg_printf(conn, "%s", "smsdaemon status
\n"); + mg_printf(conn, "%s", "smsdaemon log
\n"); + mg_printf(conn, "%s", ""); } @@ -56,6 +58,12 @@ mg_printf(conn, "%s", "Oops. File not found! "); } +void show_log(struct mg_connection *conn, const struct mg_request_info *request_info, void *user_data) { + mg_printf(conn, "%s", "HTTP/1.1 200 OK\r\n"); + mg_printf(conn, "%s", "Content-Type: text/plain\r\n\r\n"); + + mg_printf(conn, "%s", Logger::getLog().c_str() ); +} void EmbeddedHttp::startServer() { std::string portStr = Common::instance()->GetConfigfile()->GetValue("smsdaemon", "httpport"); @@ -71,8 +79,11 @@ m_context = mg_start(); mg_set_option(m_context, "ports", oss.str().c_str() ); + mg_set_option(m_context, "root", "/nosuchpatch"); //set root to non-existant path to disable normal file serving - only callbacks are now serviced + mg_set_uri_callback(m_context, "/", &show_index, 0); - mg_set_uri_callback(m_context, "/status", &show_secret, 0); + mg_set_uri_callback(m_context, "/status", &show_status, 0); + mg_set_uri_callback(m_context, "/log", &show_log, 0); mg_set_error_callback(m_context, 404, show_404, NULL);