diff options
Diffstat (limited to 'src/modules/m_http_client.cpp')
| -rw-r--r-- | src/modules/m_http_client.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/modules/m_http_client.cpp b/src/modules/m_http_client.cpp index 0ca302ef6..92a9aa348 100644 --- a/src/modules/m_http_client.cpp +++ b/src/modules/m_http_client.cpp @@ -56,7 +56,7 @@ class HTTPResolver : public Resolver private: HTTPSocket *socket; public: - HTTPResolver(HTTPSocket *socket, InspIRCd *Instance, const string &hostname) : Resolver(Instance, hostname, DNS_QUERY_FORWARD), socket(socket) + HTTPResolver(HTTPSocket *socket, InspIRCd *Instance, const string &hostname, bool &cached, Module* me) : Resolver(Instance, hostname, DNS_QUERY_FORWARD, cached, me), socket(socket) { } @@ -149,7 +149,12 @@ bool HTTPSocket::DoRequest(HTTPClientRequest *req) if (!inet_aton(this->host, &this->addy)) { - new HTTPResolver(this, Server, url.domain); + bool cached; + HTTPResolver* r = new HTTPResolver(this, Server, url.domain, cached, (Module*)Mod); + if (!cached) + Instance->AddResolver(r); + else + delete r; return true; } else |
