コード例 #1
0
ファイル: Freshon.cs プロジェクト: Venxir/Jackett
 public async Task<ConfigurationData> GetConfigurationForSetup()
 {
     var request = CreateHttpRequest(new Uri(LoginUrl));
     var response = await client.SendAsync(request);
     await response.Content.ReadAsStreamAsync();
     var config = new ConfigurationDataBasicLogin();
     return config;
 }
コード例 #2
0
        public async Task <ConfigurationData> GetConfigurationForSetup()
        {
            var request  = CreateHttpRequest(new Uri(LoginUrl));
            var response = await client.SendAsync(request);

            await response.Content.ReadAsStreamAsync();

            var config = new ConfigurationDataBasicLogin();

            return(config);
        }
コード例 #3
0
        public async Task ApplyConfiguration(JToken configJson)
        {
            var config = new ConfigurationDataBasicLogin();

            config.LoadValuesFromJson(configJson);

            var pairs = new Dictionary <string, string> {
                { "username", config.Username.Value },
                { "password", config.Password.Value }
            };

            var content = new FormUrlEncodedContent(pairs);
            var message = CreateHttpRequest(new Uri(LoginPostUrl));

            message.Method           = HttpMethod.Post;
            message.Content          = content;
            message.Headers.Referrer = new Uri(LoginUrl);

            var response = await client.SendAsync(message);

            var responseContent = await response.Content.ReadAsStringAsync();

            if (!responseContent.Contains("/logout.php"))
            {
                CQ  dom          = responseContent;
                var messageEl    = dom[".error_text"];
                var errorMessage = messageEl.Text().Trim();
                throw new ExceptionWithConfigData(errorMessage, (ConfigurationData)config);
            }
            else
            {
                var configSaveData = new JObject();
                configSaveData["cookies"] = cookies.ToJson(SiteLink);

                if (OnSaveConfigurationRequested != null)
                {
                    OnSaveConfigurationRequested(this, configSaveData);
                }

                IsConfigured = true;
            }
        }
コード例 #4
0
ファイル: Freshon.cs プロジェクト: Venxir/Jackett
        public async Task ApplyConfiguration(JToken configJson)
        {
            var config = new ConfigurationDataBasicLogin();
            config.LoadValuesFromJson(configJson);

            var pairs = new Dictionary<string, string> {
				{ "username", config.Username.Value },
				{ "password", config.Password.Value }
			};

            var content = new FormUrlEncodedContent(pairs);
            var message = CreateHttpRequest(new Uri(LoginPostUrl));
            message.Method = HttpMethod.Post;
            message.Content = content;
            message.Headers.Referrer = new Uri(LoginUrl);

            var response = await client.SendAsync(message);
            var responseContent = await response.Content.ReadAsStringAsync();

            if (!responseContent.Contains("/logout.php"))
            {
                CQ dom = responseContent;
                var messageEl = dom[".error_text"];
                var errorMessage = messageEl.Text().Trim();
                throw new ExceptionWithConfigData(errorMessage, (ConfigurationData)config);
            }
            else
            {
                var configSaveData = new JObject();
                configSaveData["cookies"] = cookies.ToJson(SiteLink);

                if (OnSaveConfigurationRequested != null)
                    OnSaveConfigurationRequested(this, configSaveData);

                IsConfigured = true;
            }
        }