Show reload link when curl fails to open connection to website

fixes
Nimetu 4 years ago
parent 951f000be4
commit 4bcf9270eb

@ -115,6 +115,9 @@ namespace NLGUI
// Browse error
void browseError (const char *msg);
// Error message with html content
void browseErrorHtml(const std::string &html);
bool isBrowsing();
// Update coords

@ -2642,6 +2642,17 @@ namespace NLGUI
invalidateCoords();
}
void CGroupHTML::browseErrorHtml(const std::string &html)
{
releaseDownloads();
removeContent();
renderHtmlString(html);
updateRefreshButton();
invalidateCoords();
}
// ***************************************************************************
bool CGroupHTML::isBrowsing()
@ -3964,11 +3975,22 @@ namespace NLGUI
{
if (!success)
{
CUrlParser uri(_CurlWWW->Url);
// potentially unwanted chars
std::string url = _CurlWWW->Url;
url = strFindReplaceAll(url, string("<"), string("%3C"));
url = strFindReplaceAll(url, string(">"), string("%3E"));
url = strFindReplaceAll(url, string("\""), string("%22"));
url = strFindReplaceAll(url, string("'"), string("%27"));
std::string err;
err = "Connection failed with cURL error: ";
err = "<html><head><title>cURL error</title></head><body>";
err += "<h1>Connection failed with cURL error</h1>";
err += error;
err += "\nURL '" + _CurlWWW->Url + "'";
browseError(err.c_str());
err += "<hr>(" + uri.scheme + "://" + uri.host + ") <a href=\"" + url + "\">reload</a>";
err += "</body></html>";
browseErrorHtml(err);
return;
}

Loading…
Cancel
Save