示例#1
0
        private Response SickRageTest()
        {
            var sickRageSettings = this.Bind <SickRageSettings>();
            var valid            = this.Validate(sickRageSettings);

            if (!valid.IsValid)
            {
                return(Response.AsJson(valid.SendJsonError()));
            }
            try
            {
                var status = SickRageApi.Ping(sickRageSettings.ApiKey, sickRageSettings.FullUri);
                return(status?.result == "success"
                    ? Response.AsJson(new JsonResponseModel {
                    Result = true, Message = "Connected to SickRage successfully!"
                })
               : Response.AsJson(new JsonResponseModel {
                    Result = false, Message = "Could not connect to SickRage, please check your settings."
                }));
            }
            catch (Exception e)             // Exceptions are expected, if we cannot connect so we will just log and swallow them.
            {
                Log.Warn("Exception thrown when attempting to get SickRage's status: ");
                Log.Warn(e);
                var message = $"Could not connect to SickRage, please check your settings. <strong>Exception Message:</strong> {e.Message}";
                if (e.InnerException != null)
                {
                    message = $"Could not connect to SickRage, please check your settings. <strong>Exception Message:</strong> {e.InnerException.Message}";
                }
                return(Response.AsJson(new JsonResponseModel {
                    Result = false, Message = message
                }));
            }
        }
示例#2
0
        public async Task <bool> SickRage([FromBody] SickRageSettings settings)
        {
            try
            {
                settings.Enabled = true;
                var result = await SickRageApi.Ping(settings.ApiKey, settings.FullUri);

                return(result?.data?.pid != null);
            }
            catch (Exception e)
            {
                Log.LogError(LoggingEvents.Api, e, "Could not test SickRage");
                return(false);
            }
        }