diff options
Diffstat (limited to 'src/modules/m_remoteinclude.cpp')
-rw-r--r-- | src/modules/m_remoteinclude.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/modules/m_remoteinclude.cpp b/src/modules/m_remoteinclude.cpp index ca0d7af72..7e6ba8df3 100644 --- a/src/modules/m_remoteinclude.cpp +++ b/src/modules/m_remoteinclude.cpp @@ -42,9 +42,9 @@ class ModuleRemoteInclude : public Module char* OnRequest(Request* req) { - HTTPClientResponse* resp = (HTTPClientResponse*)req; - if(!strcmp(resp->GetId(), HTTP_CLIENT_RESPONSE)) + if (!strcmp(req->GetId(), HTTP_CLIENT_RESPONSE)) { + HTTPClientResponse* resp = (HTTPClientResponse*)req; ServerInstance->Log(DEBUG, "Got http file for %s", resp->GetURL().c_str()); std::map<std::string, std::stringstream*>::iterator n = assoc.find(resp->GetURL()); @@ -64,7 +64,18 @@ class ModuleRemoteInclude : public Module */ assoc.erase(n); } + else if (!strcmp(req->GetId(), HTTP_CLIENT_ERROR)) + { + HTTPClientError* resp = (HTTPClientError*)req; + + ServerInstance->Log(DEBUG, "Got http error when accessing %s", resp->GetURL().c_str()); + ServerInstance->Config->Complete(resp->GetURL(), true); + std::map<std::string, std::stringstream*>::iterator n = assoc.find(resp->GetURL()); + + if (n != assoc.end()) + assoc.erase(n); + } return NULL; } |