#include "xline.h"
#include "protocol.h"
-/* $ModDesc: Provides statistics over HTTP via m_httpd.so */
-
class ModuleHttpStats : public Module
{
static std::map<char, char const*> const &entities;
+ HTTPdAPI API;
public:
-
- void init() CXX11_OVERRIDE
+ ModuleHttpStats()
+ : API(this)
{
- Implementation eventlist[] = { I_OnEvent };
- ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
}
std::string Sanitize(const std::string &str)
if (event.id == "httpd_url")
{
- ServerInstance->Logs->Log("m_http_stats", LOG_DEBUG, "Handling httpd event");
+ ServerInstance->Logs->Log(MODNAME, LOG_DEBUG, "Handling httpd event");
HTTPRequest* http = (HTTPRequest*)&event;
if ((http->GetURI() == "/stats") || (http->GetURI() == "/stats/"))
/* Send the document back to m_httpd */
HTTPDocumentResponse response(this, *http, &data, 200);
- response.headers.SetHeader("X-Powered-By", "m_httpd_stats.so");
+ response.headers.SetHeader("X-Powered-By", MODNAME);
response.headers.SetHeader("Content-Type", "text/xml");
- response.Send();
+ API->SendResponse(response);
}
}
}