Beispiel #1
0
        /// <summary>
        /// This will check the token validity,
        /// and chose what to do before replaying the Queue
        /// </summary>
        internal override async Task Recover()
        {
            if (!AutoRecover)
            {
                return;
            }

            if (await TokenVerifier.IsTokenValid())
            {
                QueryReplayer.ReplayQueries();
                SubscriptionRecoverer.RenewSubscriptions();
                return;
            }

            if (QueryReplayer.Lock)
            {
                QueryReplayer.ReplayQueries((obj) =>
                                            obj["controller"]?.ToString() == "auth" &&
                                            (obj["action"].ToString() == "login" ||
                                             obj["action"].ToString() == "logout"), false);
            }
        }