comparison lib/js/urweb.js @ 2188:61866c765485

Better client-side error messages for RPC failures
author Adam Chlipala <adam@chlipala.net>
date Sun, 01 Nov 2015 12:23:44 -0500
parents 14c45a0b6362
children 43393a4a66ce
comparison
equal deleted inserted replaced
2187:14c45a0b6362 2188:61866c765485
470 470
471 function onConnectFail(f) { 471 function onConnectFail(f) {
472 connectHandlers = cons(flift(f), connectHandlers); 472 connectHandlers = cons(flift(f), connectHandlers);
473 } 473 }
474 474
475 function conn() { 475 function conn(msg) {
476 runHandlers("Connect", connectHandlers, null); 476 var rx = /(.*)<body>((.|\n|\r)*)<\/body>(.*)/g;
477 var arr = rx.exec(msg);
478 msg = (arr && arr.length >= 3) ? arr[2] : msg;
479 runHandlers("RPC failure", connectHandlers, msg);
477 } 480 }
478 481
479 var serverHandlers = null; 482 var serverHandlers = null;
480 483
481 function onServerError(f) { 484 function onServerError(f) {
1593 k(null); 1596 k(null);
1594 } 1597 }
1595 } 1598 }
1596 } else { 1599 } else {
1597 if (isN == null) 1600 if (isN == null)
1598 conn(); 1601 conn(xhr.responseText);
1599 else 1602 else
1600 k(null); 1603 k(null);
1601 } 1604 }
1602 1605
1603 xhrFinished(xhr); 1606 xhrFinished(xhr);