check for backend-returned fatal errors in major callbacks
This commit is contained in:
parent
0002bc9f27
commit
2184738a44
|
@ -33,6 +33,7 @@ function viewCategory(cat) {
|
|||
function feedlist_callback2(transport) {
|
||||
try {
|
||||
debug("feedlist_callback2");
|
||||
if (!transport_error_check(transport)) return;
|
||||
var f = document.getElementById("feeds-frame");
|
||||
f.innerHTML = transport.responseText;
|
||||
feedlist_init();
|
||||
|
|
37
functions.js
37
functions.js
|
@ -604,24 +604,8 @@ function parse_counters_reply(transport, scheduled_call) {
|
|||
updateTitle("");
|
||||
return;
|
||||
}
|
||||
|
||||
var error_code = false;
|
||||
var error_msg = false;
|
||||
|
||||
if (reply.firstChild) {
|
||||
error_code = reply.firstChild.getAttribute("error-code");
|
||||
error_msg = reply.firstChild.getAttribute("error-msg");
|
||||
}
|
||||
|
||||
if (!error_code) {
|
||||
error_code = reply.getAttribute("error-code");
|
||||
error_msg = reply.getAttribute("error-msg");
|
||||
}
|
||||
|
||||
if (error_code && error_code != 0) {
|
||||
debug("refetch_callback: got error code " + error_code);
|
||||
return fatalError(error_code, error_msg);
|
||||
}
|
||||
if (!transport_error_check(transport)) return;
|
||||
|
||||
var counters = reply.getElementsByTagName("counters")[0];
|
||||
|
||||
|
@ -2104,4 +2088,23 @@ function browseFeeds(limit) {
|
|||
}
|
||||
}
|
||||
|
||||
function transport_error_check(transport) {
|
||||
try {
|
||||
if (transport.responseXML) {
|
||||
var error = transport.responseXML.getElementsByTagName("error")[0];
|
||||
|
||||
if (error) {
|
||||
var code = error.getAttribute("error-code");
|
||||
var msg = error.getAttribute("error-msg");
|
||||
if (code != 0) {
|
||||
fatalError(code, msg);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
exception_error("check_for_error_xml", e);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -67,6 +67,8 @@ function headlines_callback2(transport, feed_cur_page) {
|
|||
|
||||
debug("headlines_callback2 [page=" + feed_cur_page + "]");
|
||||
|
||||
if (!transport_error_check(transport)) return;
|
||||
|
||||
clean_feed_selections();
|
||||
|
||||
var is_cat = false;
|
||||
|
@ -327,6 +329,8 @@ function article_callback2(transport, id, feed_id) {
|
|||
|
||||
if (transport.responseXML) {
|
||||
|
||||
if (!transport_error_check(transport)) return;
|
||||
|
||||
debug("looking for articles to cache...");
|
||||
|
||||
var articles = transport.responseXML.getElementsByTagName("article");
|
||||
|
|
Loading…
Reference in New Issue