diff --git a/MediaBrowser.ApiInteraction.Portable/ApiClient.cs b/MediaBrowser.ApiInteraction.Portable/ApiClient.cs
index 68d08d3cd..6cfa5ade5 100644
--- a/MediaBrowser.ApiInteraction.Portable/ApiClient.cs
+++ b/MediaBrowser.ApiInteraction.Portable/ApiClient.cs
@@ -1,13 +1,60 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Net;
+using MediaBrowser.Model.DTO;
+using System;
using System.IO;
+using System.Net;
namespace MediaBrowser.ApiInteraction.Portable
{
public class ApiClient : BaseApiClient
{
+ private HttpWebRequest GetNewRequest(string url)
+ {
+ return HttpWebRequest.CreateHttp(url);
+ }
+
+ ///
+ /// Gets all users
+ ///
+ public void GetAllUsersAsync(Action callback)
+ {
+ string url = ApiUrl + "/users";
+
+ GetDataAsync(url, callback);
+ }
+
+ private void GetDataAsync(string url, Action callback)
+ {
+ GetDataAsync(url, callback, SerializationFormat);
+ }
+
+ private void GetDataAsync(string url, Action callback, SerializationFormats serializationFormat)
+ {
+ if (url.IndexOf('?') == -1)
+ {
+ url += "?dataformat=" + serializationFormat.ToString();
+ }
+ else
+ {
+ url += "&dataformat=" + serializationFormat.ToString();
+ }
+
+ HttpWebRequest request = GetNewRequest(url);
+
+ request.BeginGetResponse(new AsyncCallback(result =>
+ {
+ T value;
+
+ using (WebResponse response = (result.AsyncState as HttpWebRequest).EndGetResponse(result))
+ {
+ using (Stream stream = response.GetResponseStream())
+ {
+ value = DeserializeFromStream(stream);
+ }
+ }
+
+ callback(value);
+
+ }), request);
+ }
}
}
diff --git a/MediaBrowser.ApiInteraction/ApiClient.cs b/MediaBrowser.ApiInteraction/ApiClient.cs
index 55c30765d..5de175095 100644
--- a/MediaBrowser.ApiInteraction/ApiClient.cs
+++ b/MediaBrowser.ApiInteraction/ApiClient.cs
@@ -1,13 +1,12 @@
-using System;
+using MediaBrowser.Model.Configuration;
+using MediaBrowser.Model.DTO;
+using MediaBrowser.Model.Weather;
+using System;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
-using MediaBrowser.Model.Configuration;
-using MediaBrowser.Model.DTO;
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Weather;
namespace MediaBrowser.ApiInteraction
{
@@ -62,35 +61,6 @@ namespace MediaBrowser.ApiInteraction
}
}
- public void GetAllUsersAsync(Action callback)
- {
- string url = ApiUrl + "/users";
-
- HttpWebRequest request = HttpWebRequest.CreateHttp(url);
-
- request.BeginGetResponse(new AsyncCallback(result =>
- {
- HttpWebResponse response = (result.AsyncState as HttpWebRequest).EndGetResponse(result) as HttpWebResponse;
-
- Stream stream = response.GetResponseStream();
-
- }), request);
- }
-
- public void GetData(string url, SerializationFormats serializationFormat, Action callback)
- {
- HttpWebRequest request = HttpWebRequest.CreateHttp(url);
- //request.AutomaticDecompression = DecompressionMethods.Deflate;
-
- request.BeginGetResponse(new AsyncCallback(result =>
- {
- HttpWebResponse response = (result.AsyncState as HttpWebRequest).EndGetResponse(result) as HttpWebResponse;
-
- Stream stream = response.GetResponseStream();
-
- }), request);
- }
-
///
/// Gets all Genres
///
diff --git a/MediaBrowser.ApiInteraction/BaseApiClient.cs b/MediaBrowser.ApiInteraction/BaseApiClient.cs
index 805ba353a..c218db0ae 100644
--- a/MediaBrowser.ApiInteraction/BaseApiClient.cs
+++ b/MediaBrowser.ApiInteraction/BaseApiClient.cs
@@ -1,7 +1,7 @@
-using System;
-using System.IO;
-using MediaBrowser.Model.DTO;
+using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
+using System;
+using System.IO;
namespace MediaBrowser.ApiInteraction
{
diff --git a/MediaBrowser.Model/DTO/DTOUser.cs b/MediaBrowser.Model/DTO/DTOUser.cs
index 06fcd0ae1..aa066a3bd 100644
--- a/MediaBrowser.Model/DTO/DTOUser.cs
+++ b/MediaBrowser.Model/DTO/DTOUser.cs
@@ -1,5 +1,5 @@
-using System;
-using ProtoBuf;
+using ProtoBuf;
+using System;
namespace MediaBrowser.Model.DTO
{
diff --git a/MediaBrowser.WebDashboard/Plugin.cs b/MediaBrowser.WebDashboard/Plugin.cs
index 3ee0e04a1..3317c7f16 100644
--- a/MediaBrowser.WebDashboard/Plugin.cs
+++ b/MediaBrowser.WebDashboard/Plugin.cs
@@ -1,6 +1,6 @@
-using System.ComponentModel.Composition;
-using MediaBrowser.Common.Plugins;
+using MediaBrowser.Common.Plugins;
using MediaBrowser.Model.Plugins;
+using System.ComponentModel.Composition;
namespace MediaBrowser.WebDashboard
{