diff options
| author | jmoenig <jens@moenig.org> | 2013-03-22 12:07:54 +0100 |
|---|---|---|
| committer | jmoenig <jens@moenig.org> | 2013-03-22 12:07:54 +0100 |
| commit | f34d319b0c9f7b1c2db8abb1737e278fbac363e3 (patch) | |
| tree | 929d4cd07617ad736c76c97c8271d997757b552d /gui.js | |
| parent | 2c54645400bb6afe6ae4dea1f714dabc8c886708 (diff) | |
| download | snap-byow-f34d319b0c9f7b1c2db8abb1737e278fbac363e3.tar.gz snap-byow-f34d319b0c9f7b1c2db8abb1737e278fbac363e3.zip | |
Cloud: Dynamic fallback msg support
before popping up an error dialog, the GUI can check another URL for an
explanation about server downtimes etc.,
Diffstat (limited to 'gui.js')
| -rw-r--r-- | gui.js | 25 |
1 files changed, 24 insertions, 1 deletions
@@ -3180,8 +3180,31 @@ IDE_Morph.prototype.cloudResponse = function () { IDE_Morph.prototype.cloudError = function () { var myself = this; + + function getURL(url) { + try { + var request = new XMLHttpRequest(); + request.open('GET', url, false); + request.send(); + if (request.status === 200) { + return request.responseText; + } + return null; + } catch (err) { + return null; + } + } + return function (responseText, url) { - var response = responseText; + // first, try to find out an explanation for the error + // and notify the user about it, + // if none is found, show an error dialog box + var response = responseText, + explanation = getURL('http://snap.berkeley.edu/cloudmsg.txt'); + if (explanation) { + myself.showMessage(explanation); + return; + } if (response.length > 50) { response = response.substring(0, 50) + '...'; } |
