summaryrefslogtreecommitdiff
path: root/windows/WinUI/APIHandler.cs
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-11-05 12:23:06 -0800
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-11-05 12:23:06 -0800
commit5ec5911e1bbed6e0dfd649f78b6b38afd181b5f1 (patch)
tree06a05b5f710ffd5ca359981bbcb887eeba9320f0 /windows/WinUI/APIHandler.cs
parent8ef4edebbfeead53e5b2b454086e21e42e809aab (diff)
parent86c74d8a65ae45d6ff0433da7d4d4acb6cba8fcb (diff)
downloadinfinitytier-5ec5911e1bbed6e0dfd649f78b6b38afd181b5f1.tar.gz
infinitytier-5ec5911e1bbed6e0dfd649f78b6b38afd181b5f1.zip
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
Diffstat (limited to 'windows/WinUI/APIHandler.cs')
-rw-r--r--windows/WinUI/APIHandler.cs147
1 files changed, 102 insertions, 45 deletions
diff --git a/windows/WinUI/APIHandler.cs b/windows/WinUI/APIHandler.cs
index 8e7408a5..92b83021 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
@@ -13,7 +14,7 @@ namespace WinUI
public class APIHandler
{
- static string authtoken = "p3ptrzds5jkr2hbx5ipbyf04"; // delete me!
+ private string authtoken;
private string url = null;
@@ -22,9 +23,10 @@ namespace WinUI
url = "http://127.0.0.1:9993";
}
- public APIHandler(string host, int port)
+ public APIHandler(int port, string authtoken)
{
- url = "http://" + host + ":" + port;
+ url = "http://localhost:" + port;
+ this.authtoken = authtoken;
}
public ZeroTierStatus GetStatus()
@@ -36,21 +38,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 +78,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 +117,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 +146,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 +176,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();
+ //Console.WriteLine(responseText);
+ 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;
}
}
}