From 347beca87486ea0920c4e01dbf5b1ba58edcaf70 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Sun, 20 Jun 2021 11:21:43 -0700 Subject: [PATCH] Handle Redump 503s / Timeouts (fixes #289) --- MPF.Library/Redump/RedumpWebClient.cs | 8 +++++++- MPF/Windows/OptionsWindow.xaml.cs | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/MPF.Library/Redump/RedumpWebClient.cs b/MPF.Library/Redump/RedumpWebClient.cs index 4cb9d61f..082a5978 100644 --- a/MPF.Library/Redump/RedumpWebClient.cs +++ b/MPF.Library/Redump/RedumpWebClient.cs @@ -299,6 +299,7 @@ namespace MPF.Redump if (request is HttpWebRequest webRequest) { webRequest.CookieContainer = m_container; + webRequest.Timeout = 5 * 1000; } return request; @@ -346,11 +347,16 @@ namespace MPF.Redump Encoding = Encoding.UTF8; var response = UploadString(loginUrl, $"form_sent=1&redirect_url=&csrf_token={token}&req_username={username}&req_password={password}&save_pass=0&login=Login"); - if (response.Contains("Incorrect username and/or password.")) + if (response.Contains("Incorrect username and/or password")) { Console.WriteLine("Invalid credentials entered, continuing without logging in..."); return false; } + else if (response.Contains("503 Service Unavailable")) + { + Console.WriteLine("Redump is not currently responding, continuing without logging in..."); + return null; + } // The user was able to be logged in Console.WriteLine("Credentials accepted! Logged into Redump..."); diff --git a/MPF/Windows/OptionsWindow.xaml.cs b/MPF/Windows/OptionsWindow.xaml.cs index 38d2f6c3..8c1db97b 100644 --- a/MPF/Windows/OptionsWindow.xaml.cs +++ b/MPF/Windows/OptionsWindow.xaml.cs @@ -210,11 +210,11 @@ namespace MPF.Windows { bool? loggedIn = wc.Login(RedumpUsernameTextBox.Text, RedumpPasswordBox.Password); if (loggedIn == true) - CustomMessageBox.Show("Redump login credentials accepted!", "Success", MessageBoxButton.OK, MessageBoxImage.Information); + CustomMessageBox.Show(this, "Redump login credentials accepted!", "Success", MessageBoxButton.OK, MessageBoxImage.Information); else if (loggedIn == false) - CustomMessageBox.Show("Redump login credentials denied!", "Failure", MessageBoxButton.OK, MessageBoxImage.Error); + CustomMessageBox.Show(this, "Redump login credentials denied!", "Failure", MessageBoxButton.OK, MessageBoxImage.Error); else - CustomMessageBox.Show("Error validating credentials!", "Error", MessageBoxButton.OK, MessageBoxImage.Error); + CustomMessageBox.Show(this, "Error validating credentials!", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }