1 dump('Loading ses.js\n');
3 //////////////////////////////////////////////////////////////////////////////
4 // Sessions, Requests, Methods, Oh My
6 function handle_session(app) {
7 //if( ses == null || ! AppSession.transport_handle.connected() ) {
8 dump('Calling new AppSession : ' + timer_elapsed('cat') + '\n');
9 ses = new AppSession( app );
10 dump( 'after AppSession ses = ' + (ses.state) + '\n' );
11 if( ! ses.connect() ) {
12 dump( 'after ses.connect ses = ' + js2JSON(ses.state) + '\n' );
13 throw( "Connect timed out!" );
15 dump( 'after ses.connect ses = ' + js2JSON(ses.state) + '\n' );
16 dump('Finished new AppSession : ' + timer_elapsed('cat') + '\n');
20 function handle_request(ses,meth) {
23 dump('Entering handle_request : ' + timer_elapsed('cat') + '\n');
24 dump('Calling new AppRequest : ' + timer_elapsed('cat') + '\n');
26 var req = new AppRequest( ses, meth );
28 dump('Finished new AppRequest : ' + timer_elapsed('cat') + '\n');
29 dump('Calling new req.make_request() : ' + timer_elapsed('cat') + '\n');
33 dump( 'after req.make_request ses = ' + js2JSON(ses.state) + '\n' );
34 dump('Finished new req.make_request() : ' + timer_elapsed('cat') + '\n');
36 var result = new Array(); var resp;
38 dump('Looping on req.recv and resp.getContent(): ' + timer_elapsed('cat') + '\n');
40 while (resp = req.recv( 30000 ) ) {
41 dump( '\tafter req.recv ses = ' + js2JSON(ses.state) + ' : req.is_complete = ' + req.is_complete + '\n' );
42 var r = resp.getContent();
43 if (r != 'keepalive') {
48 dump('Finished with req.recv and resp.getContent(): ' + timer_elapsed('cat') + '\n');
50 if (result.length == 0) {
51 if ( req.is_complete ) {
52 result.push("NO RESPONSE, REQUEST COMPLETE");
53 dump("NO RESPONSE, REQUEST COMPLETE\n");
55 result.push("NO RESPONSE, REQUEST TIMEOUT");
56 dump("NO RESPONSE, REQUEST TIMEOUT\n");
60 dump( 'after req.finish() ses = ' + js2JSON(ses.state) + '\n' );
61 dump('Exiting handle_request : ' + timer_elapsed('cat') + '\n');
68 function user_request(app,name,params) {
69 dump('=-=-=-=-= user_request:\n');
70 dump('request '+(app)+' '+(name)+' '+js2JSON(params)+'\n');
71 var request = new RemoteRequest( app, name );
72 for(var index in params) {
73 request.addParam(params[index]);
77 result.push( request.getResultObject() );
78 //dump('=-=-= result = ' + js2JSON(result[0]) + '\n');
82 function user_async_request(app,name,params,func) {
83 dump('=-=-=-=-= user_async_request: ' + js2JSON(func) + '\n');
84 dump('request '+(app)+' '+(name)+' '+js2JSON(params)+'\n');
85 var request = new RemoteRequest( app, name );
86 for(var index in params) {
87 request.addParam(params[index]);
89 request.setCompleteCallback(func);
93 function sample_func(request) {
95 result.push( request.getResultObject() );
96 /* This callback would be called within the code for the Request object, so you would never see
97 a return value. Instead, you should _do_ something with the data. */
101 function _user_request(app,name,params) {
103 dump('Entering user_request : ' + timer_elapsed('cat') + '\n');
104 dump('app='+app+' name='+name+'\n');
111 meth = new oilsMethod( name, params );
113 throw('No method name to execute.');
116 var result = handle_request(ses,meth);
119 dump('ses.disconnect\n');
121 dump( 'after ses.disconnect() ses = ' + js2JSON(ses.state) + '\n' );
123 dump( 'after ses.destroy() ses = ' + js2JSON(ses.state) + '\n' );
126 dump('Exiting user_request : ' + timer_elapsed('cat') + '\n');
130 dump('Exiting user_request : ' + timer_elapsed('cat') + '\n');
131 alert( pretty_print( js2JSON(E) ) );