From 68d89f4d514fb915877dbb7e5fae9f259409ee88 Mon Sep 17 00:00:00 2001 From: ziti-ci Date: Mon, 26 Oct 2020 22:30:12 -0400 Subject: [PATCH] try/catch around the CheckUpdates method --- DesktopEdge/MainMenu.xaml.cs | 59 +++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/DesktopEdge/MainMenu.xaml.cs b/DesktopEdge/MainMenu.xaml.cs index 04204d7c..11a89570 100644 --- a/DesktopEdge/MainMenu.xaml.cs +++ b/DesktopEdge/MainMenu.xaml.cs @@ -1,4 +1,4 @@ -using System.Windows; +using System.Windows; using System.Windows.Controls; using System.Windows.Input; using System.Diagnostics; @@ -83,31 +83,42 @@ namespace ZitiDesktopEdge } private void CheckUpdates() { - HttpWebRequest httpWebRequest = WebRequest.CreateHttp(_updateUrl); - httpWebRequest.Method = "GET"; - httpWebRequest.ContentType = "application/json"; - httpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"; - HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); - StreamReader streamReader = new StreamReader(httpResponse.GetResponseStream()); - string result = streamReader.ReadToEnd(); - JObject json = JObject.Parse(result); - string currentVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); - string serverVersion = json.Property("tag_name").Value.ToString() + ".0"; + try + { + HttpWebRequest httpWebRequest = WebRequest.CreateHttp(_updateUrl); + httpWebRequest.Method = "GET"; + httpWebRequest.ContentType = "application/json"; + httpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"; + HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); + StreamReader streamReader = new StreamReader(httpResponse.GetResponseStream()); + string result = streamReader.ReadToEnd(); + JObject json = JObject.Parse(result); + string currentVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); + string serverVersion = json.Property("tag_name").Value.ToString() + ".0"; - Version installed = new Version(currentVersion); - Version published = new Version(serverVersion); - int compare = installed.CompareTo(published); - if (compare<0) { - UpdateAvailable.Content = "An Upgrade is available, click to download"; + Version installed = new Version(currentVersion); + Version published = new Version(serverVersion); + int compare = installed.CompareTo(published); + if (compare < 0) + { + UpdateAvailable.Content = "An Upgrade is available, click to download"; + UpdateAvailable.Visibility = Visibility.Visible; + } + else if (compare > 0) + { + UpdateAvailable.Content = "Your version is newer than the released version"; + UpdateAvailable.Visibility = Visibility.Visible; + } + JArray assets = JArray.Parse(json.Property("assets").Value.ToString()); + foreach (JObject asset in assets.Children()) + { + _downloadUrl = asset.Property("browser_download_url").Value.ToString(); + break; + } + } catch + { + UpdateAvailable.Content = "An exception occurred while performing upgrade check"; UpdateAvailable.Visibility = Visibility.Visible; - } else if (compare>0) { - UpdateAvailable.Content = "Your version is newer than the released version"; - UpdateAvailable.Visibility = Visibility.Visible; - } - JArray assets = JArray.Parse(json.Property("assets").Value.ToString()); - foreach (JObject asset in assets.Children()) { - _downloadUrl = asset.Property("browser_download_url").Value.ToString(); - break; } }