I see.

cmd.sendResponse was added in 1.01 just like Ape.mkChan().

The current more stable dev version is : http://github.com/harmer/APE_Server

Anthony

Sudeep Sunthankar a écrit :
Dear APE Team,

Thanks for the feedback. Im infact using sendResponse in CONNECT hook to send the response as below

Ape.registerHookCmd("CONNECT", function(params, cmd) {
   var ClientErrorResponse = "Incorrect User Name or Password";
   if (!((params.username || params.username == 'null') && (params.pwd ||
params.pwd == 'null'))){
cmd.sendResponse("authfail", {"fail":"true", "response":{ "errcode":"1", "reason" : ClientErrorResponse}});

Also to send a custom raw, I'm using the same return statement which you have specified (also saw the same on the forum).

Thanks for the insight on mkChan command, I also call client.core.join which I believe sends a JOIN command on my Client side, but this depends on the above sendResponse return as I send back the channel to join in the return value as below cmd.sendResponse("authsuccess", {"fail":"false", "response":{"errcode":"0", "reason":"Authentication Success", "channel" : chan}});

Since, I don't get the channel name I'm not able to proceed further.

What surprises me is that, till recently I was doing a load testing of APE with 10000 users and the above code was running smoothly without any issues. Its just when I rolled back the 1.0 server version, after I was unable to run the GIT version without any success, I started facing these issues.Could you give some pointers in this direction as to when we do some upgrade/downgrades we should take care of certain things.

Thanks again for the response.

Regards,
Sudeep Sunthankar



On Mon, Jun 7, 2010 at 6:46 PM, Anthony Catel <[email protected] <mailto:[email protected]>> wrote:

    Hi,

    Don't forget to include MooTools.
    Also, I don't understand why you have a "sendResponse" error in
    inlinepush since it's not used in that context.
    You must not use sendResponse when you are not in "user" context
    (i.e. a registerCmd with a "false" as second argument). You can
    use it in a "CONNECT" hook though.

    You must use the "return" syntax instead :

    To send a raw :
    return { "name":"rawName","data":{whateveryouwant} };

    To send an error :
    return ["xxx", "description"]

    When you said that you don't get the "CHANNEL" raw when you call
    "mkChan" it's totally normal :

    - Ape.mkChan() only create a persistant channel
    - You have to use user.join() to force a user to join a channel or
    make him send a "JOIN" command.

    Btw, you are doing it wrong in your code. Don't forget to "return
    -1" to delay the connection (since you are using an async auth).

    Anthony C.

    Sudeep S a écrit :

        Dear APE team,
          Im getting the below message while trying to debug my
        problem. Is
        there any file I'm missing  out or any function that Im not using
        properly
        /var/ape/commands/inlinepush.js:75:ReferenceError: $defined is not
        defined
        /var/ape/commands/inlinepush.js:4:TypeError: cmd.sendResponse
        is not a
        function
        Inline Push problem


        Thanks and Regards,
        Sudeep Sunthankar

        On Jun 7, 12:42 pm, Sudeep Sunthankar <[email protected]
        <mailto:[email protected]>> wrote:
            Dear APE Team,

            Im using the inline push feature with CONNECT hook
            command, but it gives me
            below error sometimes:

            1) cmd.sendResponse  is not a function.
            Also sometimes when I'm using the mkChan function to
            create a channel I do
            not get the CHANNEL raw back on the client side.
            As mentioned earlier  I have only kept the foll 3 files
            below files at my
            server side

            include("framework/Http.js");
            include("commands/inlinepush.js");

            Below is the function:

            Ape.registerHookCmd("CONNECT", function(params, cmd) {
               var ClientErrorResponse = "Incorrect User Name or
            Password";
               if (!((params.username || params.username == 'null') &&
            (params.pwd ||
            params.pwd == 'null'))){
                   cmd.sendResponse("authfail", {"fail":"true",
            "response":{
            "errcode":"1", "reason" : ClientErrorResponse}});
                   return 0;
               }
               var authurl = "http://localhost/auth.php";;
               var request = new Http(authurl);
               var cookie = "passwd="+params.pwd;
               request.setHeader('COOKIE', cookie);
               request.getContent(function(result) {
               var ret = {};
                   try {
                       ret = JSON.parse(result);
                   } catch(e){
                       Ape.log("Caught error in JSON Object Parsing,
            Data returned is
            not in Proper format")
                   };
                   if(ret.details.respcode == 0){
                       Ape.log('Authentication Failure');
                       cmd.sendResponse("authfail", {"fail":"true",
            "response":{
            "errcode":"2", "reason":"Authentication Failure. }});
                   }
                   if(ret.details.respcode == 1){
                       var userkeyname = 'servercookie';
                       var secretname =
            Ape.sha1.str(decodeURIComponent(params.username));r
                       var secretkey = Ape.sha1.str(userkeyname +
            decodeURIComponent(params.pwd));
                       cmd.user.userkeyname = secretkey;
                       var tmpchan = decodeURIComponent(params.pwd);
                       var chan= Ape.sha1.str(tmpchan);
                       var chanobj = Ape.getChannelByName(chan);
                       if (!$defined(chanobj)) {
                               chanobj = Ape.mkChan(chan);
                       }else{
                               Ape.log('Channel ' + chan + ' is
            already present ');
                       }

                       cmd.sendResponse("authsuccess",
            {"fail":"false", "response":{
            "errcode":"0", "reason":"Authentication Success",
            "channel" : chan}});
                       var url = "http://localhost/auth_fail.php";;
                       var request = new Http(url);
                       request.set('method', 'POST');
                       request.writeData('user_wrong', params.username);
                       request.writeData('pwd_wrong', params.pwd);
                       request.writeData('action', 'login');
                       request.getContent(function(result) {
                           Ape.log('Response returned is ' + result);
                           var ret = {};
                           try {
                               ret = JSON.parse(result);
                           } catch(e){
                               Ape.log("Caught error in JSON Object
            Parsing, Data
            returned is not in Proper format")
                           };
                       });
                       return 1;
                   }
               });

            });

            Can you please tell me if there is anything wrong, because
            I am unable to
            fix it  and if such an issue arises when my application is
            live, there
            should be some way to debug it .

            Also let me tell you that sometimes the function works
            properly

            --
            Regards,
            Sudeep Sunthankar

            On Fri, Jun 4, 2010 at 6:08 PM, Sudeep S
            <[email protected] <mailto:[email protected]>> wrote:
                Dear APE Team,
                 I want to use only the controller and HTTP hit
                functionality on the
                JSSS. So in the main_ape.js fileI had commented the
                below lines
                include("framework/mootools.js");
                include("framework/http_auth.js");
                include("commands/proxy.js");
                include("utils/checkTool.js");
                include("examples/move.js");
                include("examples/ircserver.js");
                include("examples/nickname.js");
                --------------------------
                The below files were letf uncommented
                  include("framework/userslist.js");
                  include("framework/Http.js");
                  include("commands/inlinepush.js");
                  include("utils/utils.js");
                     But on CONNECT HookCmd when Im sending a custom
                raw after some
                validation, I'm not able to receive that raw on the
                client side and Im
                getting an error which says TypeError:
                cmd.sendResponse is not a
                function.
                     Can you please share some pointers to this.
                     Regards,
                Sudeep Sunthankar
                     --
                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]
                <mailto:[email protected]>
                To unsubscribe from this group, send email to
                [email protected]
                
<mailto:ape-project%[email protected]><ape-project%[email protected]
                <mailto:ape-project%[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]
    <mailto:[email protected]>
    To unsubscribe from this group, send email to
    [email protected]
    <mailto:ape-project%[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/

Reply via email to