Blaze.Server.LoginCommand.HandleRequest C# (CSharp) Method

HandleRequest() public static method

public static HandleRequest ( Request request ) : void
request Request
return void
        public static void HandleRequest(Request request)
        {
            var email = (TdfString)request.Data["MAIL"];

            Log.Info(string.Format("Client {0} logging in with email {1}", request.Client.ID, email.Value));

            var user = Configuration.Users.Find(u => u.Email == email.Value);

            if (user == null)
            {
                Log.Warn("User not found");
                return;
            }

            request.Client.User = user;

            var data = new List<Tdf>
            {
                new TdfString("LDHT", ""),
                new TdfInteger("NTOS", 0),
                new TdfString("PCTK", ""),
                new TdfList("PLST", TdfBaseType.Struct, new ArrayList
                {
                    new List<Tdf>
                    {
                        new TdfString("DSNM", user.Name),
                        new TdfInteger("LAST", 0),
                        new TdfInteger("PID", user.ID),
                        new TdfInteger("STAS", 2),
                        new TdfInteger("XREF", 0),
                        new TdfInteger("XTYP", (ulong)ExternalRefType.Unknown)
                    }
                }),
                new TdfString("PRIV", ""),
                new TdfString("SKEY", ""),
                new TdfInteger("SPAM", 1),
                new TdfString("THST", ""),
                new TdfString("TSUI", ""),
                new TdfString("TURI", ""),
                new TdfInteger("UID", (ulong)request.Client.ID)
            };

            request.Reply(0, data);
        }
    }

Usage Example

        public static void HandleRequest(Request request)
        {
            switch (request.CommandID)
            {
            case 0x28:
                LoginCommand.HandleRequest(request);
                break;

            case 0x32:
                SilentLoginCommand.HandleRequest(request);
                break;

            case 0x6E:
                LoginPersonaCommand.HandleRequest(request);
                break;

            case 0x1D:
                ListUserEntitlements2Command.HandleRequest(request);
                break;

            default:
                Log.Warn(string.Format("Unhandled request: {0} {1}", request.ComponentID, request.CommandID));
                break;
            }
        }
LoginCommand