GitHub Documentation Patreon donate button

OnAuth Return CustomData



  • Hi all,
    The OnAuth method can only return the false value,right? What should I do if I want to return custom data after a validation failure?
    Thanks.😁

    for example:

     onAuth(client, options): Promise < any > {
        return new Promise((resolve, reject) => {
            let myData = {
                code: -1,
                reason: 'token is missing'
            }
            reject(myData);
        });
    }
    
    //other test
    onAuth(client, options): Promise < any > {
        let myData={
            code: -1,
            reason: 'token is missing'
        }
        return myData;
    }
    
    
    //and the client side
    client.joinOrCreate("test").then(room => {
    }).catch(err => {
        //the err is null str
    });
    
    

  • administrator

    Hi @BlueBang, currently you can only throw an error containing a string to be able to catch in the client-side.

    e.g.

    onAuth(client, options) {
        // ...
        throw new Error("token is missing");
    }
    

    There are plans on supporting code + reason soon, though: https://github.com/colyseus/colyseus/issues/317



  • @endel yeah,Because it is still necessary to distinguish between system exceptions and business exceptions. My current solution is to add a formarter in the client-side.tanks for reply.😁


 

GitHub Documentation Patreon donate button

© 2020 Endel Dreyer