1 dump('entering util/network.js\n');
3 if (typeof util == 'undefined') util = {};
4 util.network = function () {
6 JSAN.use('util.error'); this.error = new util.error();
7 // Place a test here for network connectivity
8 // this.offline = true;
13 util.network.prototype = {
15 // Flag for whether the staff client should act as if it were offline or not
20 'simple_request' : function(id,params,f) {
21 return this.request(api[id].app,api[id].method,params,f);
24 'request' : function (app,name,params,f) {
25 var request = this.bare_request(app,name,params,f);
27 return request.getResultObject();
33 'bare_request' : function (app,name,params,f) {
36 var sparams = js2JSON(params);
37 obj.error.sdump('D_SES','request '+app+' '+name+' '+sparams.slice(1,sparams.length-1)+
38 '\nResult #' + (++obj.link_id) + ( f ? ' asynced' : ' synced' ) );
39 var request = new RemoteRequest( app, name );
40 for(var index in params) {
41 request.addParam(params[index]);
45 request.setCompleteCallback(
48 obj.error.sdump('D_SES_RESULT','asynced result #'
49 + obj.link_id + '\n\n'
50 + js2JSON(req.getResultObject()));
51 req = obj.rerequest_on_session_timeout(app,name,params,req);
62 request = obj.rerequest_on_session_timeout(app,name,params,request);
63 var result = request.getResultObject();
64 this.error.sdump('D_SES_RESULT','synced result #' + obj.link_id + '\n\n' + js2JSON(result));
69 if (instanceOf(E,perm_ex)) {
70 alert('permission exception: ' + js2JSON(E));
76 'rerequest_on_session_timeout' : function(app,name,params,req) {
79 var robj = req.getResultObject();
80 if (robj.ilsevent && robj.ilsevent == 1001) {
81 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserWrite');
85 + '&desc_brief=' + window.escape('Your session has expired')
86 + '&desc_full=' + window.escape('Please re-login. If after you have re-authenticated, you still see session expired dialogs like this one, please note where they are occuring and notify your friendly Evergreen developers.'),
88 'chrome,resizable,modal,width=300,height=300'
90 JSAN.use('OpenILS.data');
91 var data = new OpenILS.data(); data.init({'via':'stash'});
92 if (data.temporary_session != '') {
93 data.session = data.temporary_session; data.stash('session');
94 params[0] = data.session;
95 req = obj.bare_request(app,name,params);
99 this.error.sdump('D_ERROR',E);
106 function sample_callback(request) {
107 var result = request.getResultObject();
111 dump('exiting util/network.js\n');