public Dictionary <string, string> GetRateLimitHeaders()
        {
            ThrottleInfo throttleInfo = getThrottleInfoFromCache();

            int requestsRemaining = Math.Max(RequestLimit - throttleInfo.RequestCount, 0);

            var headers = new Dictionary <string, string>();

            headers.Add("X-RateLimit-Limit", RequestLimit.ToString());
            headers.Add("X-RateLimit-Remaining", RequestsRemaining.ToString());
            headers.Add("X-RateLimit-Reset", toUnixTime(throttleInfo.ExpiresAt).ToString());
            return(headers);
        }
Beispiel #2
0
        public Dictionary <string, string> GetRateLimitHeaders()
        {
            ThrottleInfo throttleInfo = GetThrottleInfoFromCache();

            int requestsRemaining = Math.Max(RequestLimit - throttleInfo.RequestCount, 0);

            var headers = new Dictionary <string, string>
            {
                { "X-RateLimit-Limit", RequestLimit.ToString() },
                { "X-RateLimit-Remaining", RequestsRemaining.ToString() },
                { "X-RateLimit-Reset", throttleInfo.ExpiresAt.ToString(CultureInfo.InvariantCulture) }
            };

            return(headers);
        }
Beispiel #3
0
        public static PrefabVO Get(string key)
        {
            if (string.IsNullOrEmpty(key))
            {
                return(null);
            }

            if (dataProvider.Count == 0)
            {
                if (RequestLimit.check(dataProvider, 1f))
                {
                    Reload();
                }
            }
            PrefabVO prefabVo = null;

            mapping.TryGetValue(key, out prefabVo);
            return(prefabVo);
        }
        private async Task <Response> ScheduleRun(string key)
        {
            if (key.Equals(JobNames.PlexCacher, StringComparison.CurrentCultureIgnoreCase))
            {
                PlexContentCacher.CacheContent();
            }

            if (key.Equals(JobNames.WatcherCacher, StringComparison.CurrentCultureIgnoreCase))
            {
                WatcherCacher.Queued();
            }

            if (key.Equals(JobNames.SonarrCacher, StringComparison.CurrentCultureIgnoreCase))
            {
                SonarrCacher.Queued();
            }
            if (key.Equals(JobNames.RadarrCacher, StringComparison.CurrentCultureIgnoreCase))
            {
                RadarrCacher.Queued();
            }
            if (key.Equals(JobNames.CpCacher, StringComparison.CurrentCultureIgnoreCase))
            {
                CpCacher.Queued();
            }
            if (key.Equals(JobNames.StoreBackup, StringComparison.CurrentCultureIgnoreCase))
            {
                StoreBackup.Start();
            }
            if (key.Equals(JobNames.SrCacher, StringComparison.CurrentCultureIgnoreCase))
            {
                SrCacher.Queued();
            }
            if (key.Equals(JobNames.PlexChecker, StringComparison.CurrentCultureIgnoreCase))
            {
                AvailabilityChecker.Start();
            }
            if (key.Equals(JobNames.StoreCleanup, StringComparison.CurrentCultureIgnoreCase))
            {
                StoreCleanup.Start();
            }
            if (key.Equals(JobNames.RequestLimitReset, StringComparison.CurrentCultureIgnoreCase))
            {
                RequestLimit.Start();
            }
            if (key.Equals(JobNames.EpisodeCacher, StringComparison.CurrentCultureIgnoreCase))
            {
                EpisodeCacher.Start();
            }
            if (key.Equals(JobNames.RecentlyAddedEmail, StringComparison.CurrentCultureIgnoreCase))
            {
                RecentlyAdded.Start();
            }
            if (key.Equals(JobNames.FaultQueueHandler, StringComparison.CurrentCultureIgnoreCase))
            {
                FaultQueueHandler.Start();
            }
            if (key.Equals(JobNames.PlexUserChecker, StringComparison.CurrentCultureIgnoreCase))
            {
                RequestLimit.Start();
            }


            return(Response.AsJson(new JsonResponseModel {
                Result = true
            }));
        }