diff options
| author | Grant Limberg <glimberg@gmail.com> | 2015-11-04 18:28:07 -0800 |
|---|---|---|
| committer | Grant Limberg <glimberg@gmail.com> | 2015-11-04 18:28:07 -0800 |
| commit | 7b86176d0ea2cd307ff5dd3570e822cb8bd2436b (patch) | |
| tree | d7f2ab486e4477d7277d2e03f3ad24c91c3dd503 /windows/WinUI/APIHandler.cs | |
| parent | a95ff21aafa793e5282f32b77b893da3f42a4a57 (diff) | |
| download | infinitytier-7b86176d0ea2cd307ff5dd3570e822cb8bd2436b.tar.gz infinitytier-7b86176d0ea2cd307ff5dd3570e822cb8bd2436b.zip | |
Don't go kaboom when the ZeroTier service isn't running.
Diffstat (limited to 'windows/WinUI/APIHandler.cs')
| -rw-r--r-- | windows/WinUI/APIHandler.cs | 140 |
1 files changed, 98 insertions, 42 deletions
diff --git a/windows/WinUI/APIHandler.cs b/windows/WinUI/APIHandler.cs index 8e7408a5..ada7369a 100644 --- a/windows/WinUI/APIHandler.cs +++ b/windows/WinUI/APIHandler.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using System.Net; using System.IO; +using System.Windows; using Newtonsoft.Json; namespace WinUI @@ -36,21 +37,32 @@ namespace WinUI request.ContentType = "application/json"; } - var httpResponse = (HttpWebResponse)request.GetResponse(); - using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) + try { - var responseText = streamReader.ReadToEnd(); - - ZeroTierStatus status = null; - try - { - status = JsonConvert.DeserializeObject<ZeroTierStatus>(responseText); - } - catch (JsonReaderException e) + var httpResponse = (HttpWebResponse)request.GetResponse(); + using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { - Console.WriteLine(e.ToString()); + var responseText = streamReader.ReadToEnd(); + + ZeroTierStatus status = null; + try + { + status = JsonConvert.DeserializeObject<ZeroTierStatus>(responseText); + } + catch (JsonReaderException e) + { + Console.WriteLine(e.ToString()); + } + return status; } - return status; + } + catch (System.Net.Sockets.SocketException) + { + return null; + } + catch (System.Net.WebException) + { + return null; } } @@ -65,21 +77,32 @@ namespace WinUI request.Method = "GET"; request.ContentType = "application/json"; - var httpResponse = (HttpWebResponse)request.GetResponse(); - using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) + try { - var responseText = streamReader.ReadToEnd(); - - List<ZeroTierNetwork> networkList = null; - try + var httpResponse = (HttpWebResponse)request.GetResponse(); + using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { - networkList = JsonConvert.DeserializeObject<List<ZeroTierNetwork>>(responseText); + var responseText = streamReader.ReadToEnd(); + + List<ZeroTierNetwork> networkList = null; + try + { + networkList = JsonConvert.DeserializeObject<List<ZeroTierNetwork>>(responseText); + } + catch (JsonReaderException e) + { + Console.WriteLine(e.ToString()); + } + return networkList; } - catch (JsonReaderException e) - { - Console.WriteLine(e.ToString()); - } - return networkList; + } + catch (System.Net.Sockets.SocketException) + { + return null; + } + catch (System.Net.WebException) + { + return null; } } @@ -93,11 +116,22 @@ namespace WinUI request.Method = "POST"; - var httpResponse = (HttpWebResponse)request.GetResponse(); + try + { + var httpResponse = (HttpWebResponse)request.GetResponse(); - if (httpResponse.StatusCode != HttpStatusCode.OK) + if (httpResponse.StatusCode != HttpStatusCode.OK) + { + Console.WriteLine("Error sending join network message"); + } + } + catch (System.Net.Sockets.SocketException) { - Console.WriteLine("Error sending join network message"); + MessageBox.Show("Error Joining Network: Cannot connect to ZeroTier service."); + } + catch (System.Net.WebException) + { + MessageBox.Show("Error Joining Network: Cannot connect to ZeroTier service."); } } @@ -111,11 +145,22 @@ namespace WinUI request.Method = "DELETE"; - var httpResponse = (HttpWebResponse)request.GetResponse(); + try + { + var httpResponse = (HttpWebResponse)request.GetResponse(); - if (httpResponse.StatusCode != HttpStatusCode.OK) + if (httpResponse.StatusCode != HttpStatusCode.OK) + { + Console.WriteLine("Error sending leave network message"); + } + } + catch (System.Net.Sockets.SocketException) + { + MessageBox.Show("Error Leaving Network: Cannot connect to ZeroTier service."); + } + catch (System.Net.WebException) { - Console.WriteLine("Error sending leave network message"); + MessageBox.Show("Error Leaving Network: Cannot connect to ZeroTier service."); } } @@ -130,21 +175,32 @@ namespace WinUI request.Method = "GET"; request.ContentType = "application/json"; - var httpResponse = (HttpWebResponse)request.GetResponse(); - using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) + try { - var responseText = streamReader.ReadToEnd(); - - List<ZeroTierPeer> peerList = null; - try - { - peerList = JsonConvert.DeserializeObject<List<ZeroTierPeer>>(responseText); - } - catch (JsonReaderException e) + var httpResponse = (HttpWebResponse)request.GetResponse(); + using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { - Console.WriteLine(e.ToString()); + var responseText = streamReader.ReadToEnd(); + + List<ZeroTierPeer> peerList = null; + try + { + peerList = JsonConvert.DeserializeObject<List<ZeroTierPeer>>(responseText); + } + catch (JsonReaderException e) + { + Console.WriteLine(e.ToString()); + } + return peerList; } - return peerList; + } + catch (System.Net.Sockets.SocketException) + { + return null; + } + catch (System.Net.WebException) + { + return null; } } } |
