Thanks Anthony, That sounds perfect!
That is good to know, i'll make note of that. On Mon, Mar 5, 2012 at 9:59 PM, <[email protected]> wrote: > ** > > Hey, > > Pro tip : return -1 to a CONNECT hook and use Ape.addUser(cmd.user) in > your SQL callback. > > Exemple here : > > > https://github.com/APE-Project/APE_Server/blob/master/scripts/framework/http_auth.js > > Therefore the connect process will be delayed until the call of > Ape.addUser. > > On Mon, 5 Mar 2012 21:40:57 -0500, Pablo Tejada wrote: > > Sure no problem, > Unfortunately the whole process is victim of the same rule. And that is > that JavasScript will not wait for an asynchronous request to finish and > continue execution. > So the 'connect' hook will finish and return 1 weather the user properties > are set or not. > > While working with JS in the client side i use the method of re-running a > function when im in similar situation: > //Global variable > var cache; > function buildUserCard(user_id){ > if(!cache){ > //Get the template from the server > $.get("request/UserCard.tpl", function(data){ > //export the value of 'data' to the global 'cache' > cache = data; > //Re-Run the same function to continue building our UserCard > buildUserCard(user_id); > }); > //kill function exceution > return false; > } > //We got the template in 'cache' so continue builing our UserCard > var UserCard = ... > ... > } > But in server side like APE is different because im not sure if we could > trigger commands. I have two alternatives in mind you could try: > 1) return 0 instead of 1 in the 'connect' hook to kill it, and try to > send a custom response from the sql.query() callback using > sendResponse()<http://www.ape-project.org/docs/server/raws/sendresponse.html> > or sendRaw()<http://www.ape-project.org/docs/server/more/pipe.sendraw.html> > not > sure which one is more appropriate. > 2) keep returning 1 in the 'connect' hook, in the sql.query() callback > send a custom RAW to the channels the user is part-of using > sendRaw()<http://www.ape-project.org/docs/server/more/pipe.sendraw.html>. > This would required extra code in the client side to handle the custom RAW > and update the user object accordingly. > Happy coding :) > If you are having more headaches then solutions consider using inlinepush > instead, you could also avoid having to deal with the clumsy MySql in APE > server, this thread has some good information about it > https://groups.google.com/forum/?fromgroups#!searchin/ape-project/inlinepush$20ptejada26/ape-project/5pJwbIdbNGY/hOGJ5FRdpYwJ > On Mon, Mar 5, 2012 at 8:30 PM, UTAN <[email protected]> wrote: > >> >> On this try I was trying to return, but is not how I had before it >> very similar to the one you posted in your last post.. >> >> >> On Mar 5, 5:15 pm, Pablo Tejada <[email protected]> wrote: >> > Just for the record is not the APE server's fault, is the way JS works >> and >> > the way you have structured your application. For example this function: >> > >> > function setloggedinProperties(user){ >> > var usernick = user.getProperty('name').toLowerCase(); >> > >> > sql.query('SELECT * FROM pfc_login WHERE BINARY >> > username="'+Ape.MySQL.escape(usernick)+'"',function(res,error){ >> > if(error){ >> > Ape.log('There was an error in the query'+this.errorString()+''); >> > }else{ >> > if(res != ''){ >> > return res[0].isauthorized; >> > } >> > } >> > }); >> > >> > } >> > >> >> -- >> You received this message because you are subscribed to the Google >> Groups "APE Project" group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/ape-project?hl=en >> --- >> APE Project (Ajax Push Engine) >> Official website : http://www.ape-project.org/ >> Git Hub : http://github.com/APE-Project/ >> > > -- > You received this message because you are subscribed to the Google > Groups "APE Project" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/ape-project?hl=en > --- > APE Project (Ajax Push Engine) > Official website : http://www.ape-project.org/ > Git Hub : http://github.com/APE-Project/ > > > > > -- > You received this message because you are subscribed to the Google > Groups "APE Project" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/ape-project?hl=en > --- > APE Project (Ajax Push Engine) > Official website : http://www.ape-project.org/ > Git Hub : http://github.com/APE-Project/ > -- You received this message because you are subscribed to the Google Groups "APE Project" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/ape-project?hl=en --- APE Project (Ajax Push Engine) Official website : http://www.ape-project.org/ Git Hub : http://github.com/APE-Project/
