class ModuleHttp;
-extern InspIRCd* ServerInstance;
-static Server *Srv;
+
static ModuleHttp* HttpModule;
-extern time_t TIME;
static bool claimed;
enum HttpState
if (InternalState == HTTP_LISTEN)
{
HttpSocket* s = new HttpSocket(this->Instance, newsock, ip, index);
- Srv->AddSocket(s);
+ this->Instance->AddSocket(s);
}
return true;
}
claimed = false;
HTTPRequest httpr(request_type,uri,&headers,this,this->GetIP());
Event e((char*)&httpr, (Module*)HttpModule, "httpd_url");
- e.Send();
+ e.Send(this->Instance);
if (!claimed)
{
std::string bindip;
std::string indexfile;
- FileReader index;
+ FileReader* index;
HttpSocket* http;
void ReadConfig()
{
- ConfigReader c;
+ ConfigReader c(ServerInstance);
this->host = c.ReadValue("http", "host", 0);
this->bindip = c.ReadValue("http", "ip", 0);
this->port = c.ReadInteger("http", "port", 0, true);
this->indexfile = c.ReadValue("http", "index", 0);
- index.LoadFile(this->indexfile);
+ if (index)
+ {
+ delete index;
+ index = NULL;
+ }
+ index = new FileReader(ServerInstance, this->indexfile);
}
void CreateListener()
{
- http = new HttpSocket(ServerInstance, this->bindip, this->port, true, 0, &index);
+ http = new HttpSocket(ServerInstance, this->bindip, this->port, true, 0, index);
if ((http) && (http->GetState() == I_LISTENING))
{
- Srv->AddSocket(http);
+ ServerInstance->AddSocket(http);
}
}
ModuleHttp(InspIRCd* Me) : Module::Module(Me)
{
-
+ index = NULL;
ReadConfig();
CreateListener();
}
virtual ~ModuleHttp()
{
- Srv->DelSocket(http);
+ ServerInstance->DelSocket(http);
}
virtual Version GetVersion()