mirror of
https://github.com/overte-org/overte.git
synced 2025-04-12 10:42:10 +02:00
Add a timeout to the request to the MS server
Add a timeout (10 sec.) to the request to the MS server and add a dead service indication when a server didn't respond within the timeout delay.
This commit is contained in:
parent
bf231dfc87
commit
74d63fc95c
2 changed files with 16 additions and 1 deletions
|
@ -215,11 +215,16 @@
|
||||||
regionStyle = " style='background-color: #004d57;'";
|
regionStyle = " style='background-color: #004d57;'";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var serverInError = "";
|
||||||
|
if (metaverseList[m].error) {
|
||||||
|
serverInError = "💀 ";
|
||||||
|
}
|
||||||
|
|
||||||
formattedMetaverseList = formattedMetaverseList + "<div class = 'placeEntry' id='place-" + metaverseList[m].url + "'" + regionStyle + "><div class = 'blur'>";
|
formattedMetaverseList = formattedMetaverseList + "<div class = 'placeEntry' id='place-" + metaverseList[m].url + "'" + regionStyle + "><div class = 'blur'>";
|
||||||
formattedMetaverseList = formattedMetaverseList + "<table class='placeTable'>";
|
formattedMetaverseList = formattedMetaverseList + "<table class='placeTable'>";
|
||||||
formattedMetaverseList = formattedMetaverseList + " <tr valign = 'top'>";
|
formattedMetaverseList = formattedMetaverseList + " <tr valign = 'top'>";
|
||||||
formattedMetaverseList = formattedMetaverseList + " <td width='2%'></td>";
|
formattedMetaverseList = formattedMetaverseList + " <td width='2%'></td>";
|
||||||
formattedMetaverseList = formattedMetaverseList + " <td align='left' width='75%' ><font class= 'metaverseTitle region-" + metaverseList[m].region.toUpperCase() + "' >" + metaverseList[m].url + "</font></td>";
|
formattedMetaverseList = formattedMetaverseList + " <td align='left' width='75%' ><font class= 'metaverseTitle region-" + metaverseList[m].region.toUpperCase() + "' >" + serverInError + metaverseList[m].url + "</font></td>";
|
||||||
if (!metaverseList[m].pinned) {
|
if (!metaverseList[m].pinned) {
|
||||||
formattedMetaverseList = formattedMetaverseList + " <td align='right' ><span style='padding: 0%; cursor: pointer;' onclick='pinMetaverse(" + m + ", true);'><img src='icons/notpinned.png' width='26' height='26' draggable='false'></span></td>";
|
formattedMetaverseList = formattedMetaverseList + " <td align='right' ><span style='padding: 0%; cursor: pointer;' onclick='pinMetaverse(" + m + ", true);'><img src='icons/notpinned.png' width='26' height='26' draggable='false'></span></td>";
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
var metaverseServers = [];
|
var metaverseServers = [];
|
||||||
var SETTING_METAVERSE_TO_FETCH = "placesAppMetaverseToFetch";
|
var SETTING_METAVERSE_TO_FETCH = "placesAppMetaverseToFetch";
|
||||||
var SETTING_PINNED_METAVERSE = "placesAppPinnedMetaverse";
|
var SETTING_PINNED_METAVERSE = "placesAppPinnedMetaverse";
|
||||||
|
var REQUEST_TIMEOUT = 10000; //10 seconds
|
||||||
|
|
||||||
var httpRequest = null;
|
var httpRequest = null;
|
||||||
var placesData;
|
var placesData;
|
||||||
|
@ -183,6 +184,11 @@
|
||||||
for (var i = 0; i < metaverseServers.length; i++ ) {
|
for (var i = 0; i < metaverseServers.length; i++ ) {
|
||||||
if (metaverseServers[i].fetch === true) {
|
if (metaverseServers[i].fetch === true) {
|
||||||
extractedData = getContent(metaverseServers[i].url + "/api/v1/places?status=online" + "&acash=" + Math.floor(Math.random() * 999999));
|
extractedData = getContent(metaverseServers[i].url + "/api/v1/places?status=online" + "&acash=" + Math.floor(Math.random() * 999999));
|
||||||
|
if (extractedData === "") {
|
||||||
|
metaverseServers[i].error = true;
|
||||||
|
} else {
|
||||||
|
metaverseServers[i].error = false;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
placesData = JSON.parse(extractedData);
|
placesData = JSON.parse(extractedData);
|
||||||
processData(metaverseServers[i]);
|
processData(metaverseServers[i]);
|
||||||
|
@ -326,6 +332,10 @@
|
||||||
function getContent(url) {
|
function getContent(url) {
|
||||||
httpRequest = new XMLHttpRequest();
|
httpRequest = new XMLHttpRequest();
|
||||||
httpRequest.open("GET", url, false); // false for synchronous request
|
httpRequest.open("GET", url, false); // false for synchronous request
|
||||||
|
httpRequest.timeout = REQUEST_TIMEOUT;
|
||||||
|
httpRequest.ontimeout=function(){
|
||||||
|
return "";
|
||||||
|
};
|
||||||
httpRequest.send( null );
|
httpRequest.send( null );
|
||||||
return httpRequest.responseText;
|
return httpRequest.responseText;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue