aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-07 08:28:01 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-07 08:28:01 -0400
commitc56ecc24397215407043760404100b24ba068075 (patch)
tree55992a1cf77e8d0012d24f3d43bcc19262763b10
parent300cf1ba18dea75b6e9d479341c57029b5d3c9a4 (diff)
parent3e0c2165b681821262b204a4b2503e162d6fef85 (diff)
Merge
-rw-r--r--MediaBrowser.ApiInteraction.Portable/ApiClient.cs57
-rw-r--r--MediaBrowser.ApiInteraction/ApiClient.cs38
-rw-r--r--MediaBrowser.ApiInteraction/BaseApiClient.cs6
-rw-r--r--MediaBrowser.Model/DTO/DTOUser.cs4
-rw-r--r--MediaBrowser.WebDashboard/Plugin.cs4
5 files changed, 63 insertions, 46 deletions
diff --git a/MediaBrowser.ApiInteraction.Portable/ApiClient.cs b/MediaBrowser.ApiInteraction.Portable/ApiClient.cs
index 68d08d3cdb..6cfa5ade55 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);
+ }
+
+ /// <summary>
+ /// Gets all users
+ /// </summary>
+ public void GetAllUsersAsync(Action<DTOUser[]> callback)
+ {
+ string url = ApiUrl + "/users";
+
+ GetDataAsync<DTOUser[]>(url, callback);
+ }
+
+ private void GetDataAsync<T>(string url, Action<T> callback)
+ {
+ GetDataAsync<T>(url, callback, SerializationFormat);
+ }
+
+ private void GetDataAsync<T>(string url, Action<T> 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<T>(stream);
+ }
+ }
+
+ callback(value);
+
+ }), request);
+ }
}
}
diff --git a/MediaBrowser.ApiInteraction/ApiClient.cs b/MediaBrowser.ApiInteraction/ApiClient.cs
index 55c30765d1..5de1750959 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<DTOUser[]> 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<T>(string url, SerializationFormats serializationFormat, Action<T> 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);
- }
-
/// <summary>
/// Gets all Genres
/// </summary>
diff --git a/MediaBrowser.ApiInteraction/BaseApiClient.cs b/MediaBrowser.ApiInteraction/BaseApiClient.cs
index 805ba353a0..c218db0ae8 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 06fcd0ae1d..aa066a3bd8 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 3ee0e04a18..3317c7f16e 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
{