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) {
|
function feedlist_callback2(transport) {
|
||||||
try {
|
try {
|
||||||
debug("feedlist_callback2");
|
debug("feedlist_callback2");
|
||||||
|
if (!transport_error_check(transport)) return;
|
||||||
var f = document.getElementById("feeds-frame");
|
var f = document.getElementById("feeds-frame");
|
||||||
f.innerHTML = transport.responseText;
|
f.innerHTML = transport.responseText;
|
||||||
feedlist_init();
|
feedlist_init();
|
||||||
|
|
37
functions.js
37
functions.js
|
@ -604,24 +604,8 @@ function parse_counters_reply(transport, scheduled_call) {
|
||||||
updateTitle("");
|
updateTitle("");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var error_code = false;
|
|
||||||
var error_msg = false;
|
|
||||||
|
|
||||||
if (reply.firstChild) {
|
if (!transport_error_check(transport)) return;
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
var counters = reply.getElementsByTagName("counters")[0];
|
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 + "]");
|
debug("headlines_callback2 [page=" + feed_cur_page + "]");
|
||||||
|
|
||||||
|
if (!transport_error_check(transport)) return;
|
||||||
|
|
||||||
clean_feed_selections();
|
clean_feed_selections();
|
||||||
|
|
||||||
var is_cat = false;
|
var is_cat = false;
|
||||||
|
@ -327,6 +329,8 @@ function article_callback2(transport, id, feed_id) {
|
||||||
|
|
||||||
if (transport.responseXML) {
|
if (transport.responseXML) {
|
||||||
|
|
||||||
|
if (!transport_error_check(transport)) return;
|
||||||
|
|
||||||
debug("looking for articles to cache...");
|
debug("looking for articles to cache...");
|
||||||
|
|
||||||
var articles = transport.responseXML.getElementsByTagName("article");
|
var articles = transport.responseXML.getElementsByTagName("article");
|
||||||
|
|
Loading…
Reference in New Issue