diff --git a/MediaBrowser.Api/Api.cs b/MediaBrowser.Api/Api.cs
deleted file mode 100644
index fda9d1bd82..0000000000
--- a/MediaBrowser.Api/Api.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MediaBrowser.Api
-{
- class Api
- {
- }
-}
diff --git a/MediaBrowser.Api/Javascript/ApiClient.js b/MediaBrowser.Api/Javascript/ApiClient.js
index 84e54597b2..a57722e503 100644
--- a/MediaBrowser.Api/Javascript/ApiClient.js
+++ b/MediaBrowser.Api/Javascript/ApiClient.js
@@ -1126,7 +1126,29 @@ var ApiClient = {
var url = ApiClient.getUrl("System/Configuration");
- return $.post(url, JSON.stringify(configuration));
+ return $.ajax({
+ type: "POST",
+ url: url,
+ data: JSON.stringify(configuration),
+ dataType: "json",
+ contentType: "application/json"
+ });
+ },
+
+ /**
+ * Updates plugin security info
+ */
+ updatePluginSecurityInfo: function (info) {
+
+ var url = ApiClient.getUrl("Plugins/SecurityInfo");
+
+ return $.ajax({
+ type: "POST",
+ url: url,
+ data: JSON.stringify(info),
+ dataType: "json",
+ contentType: "application/json"
+ });
},
/**
@@ -1141,7 +1163,13 @@ var ApiClient = {
var url = ApiClient.getUrl("Users");
- return $.post(url, JSON.stringify(user));
+ return $.ajax({
+ type: "POST",
+ url: url,
+ data: JSON.stringify(user),
+ dataType: "json",
+ contentType: "application/json"
+ });
},
/**
@@ -1156,7 +1184,13 @@ var ApiClient = {
var url = ApiClient.getUrl("Users/" + user.Id);
- return $.post(url, JSON.stringify(user));
+ return $.ajax({
+ type: "POST",
+ url: url,
+ data: JSON.stringify(user),
+ dataType: "json",
+ contentType: "application/json"
+ });
},
/**
@@ -1176,7 +1210,13 @@ var ApiClient = {
var url = ApiClient.getUrl("ScheduledTasks/" + id + "/Triggers");
- return $.post(url, JSON.stringify(triggers));
+ return $.ajax({
+ type: "POST",
+ url: url,
+ data: JSON.stringify(triggers),
+ dataType: "json",
+ contentType: "application/json"
+ });
},
/**
@@ -1196,7 +1236,13 @@ var ApiClient = {
var url = ApiClient.getUrl("Plugins/" + id + "/Configuration");
- return $.post(url, JSON.stringify(configuration));
+ return $.ajax({
+ type: "POST",
+ url: url,
+ data: JSON.stringify(configuration),
+ dataType: "json",
+ contentType: "application/json"
+ });
},
/**
diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs
index 932a3e5454..044f867abd 100644
--- a/MediaBrowser.Api/PluginService.cs
+++ b/MediaBrowser.Api/PluginService.cs
@@ -106,13 +106,8 @@ namespace MediaBrowser.Api
/// Class UpdatePluginSecurityInfo
///
[Route("/Plugins/SecurityInfo", "POST")]
- public class UpdatePluginSecurityInfo : IReturnVoid, IRequiresRequestStream
+ public class UpdatePluginSecurityInfo : PluginSecurityInfo, IReturnVoid
{
- ///
- /// The raw Http Request Input Stream
- ///
- /// The request stream.
- public Stream RequestStream { get; set; }
}
///
@@ -227,7 +222,7 @@ namespace MediaBrowser.Api
/// The request.
public void Post(UpdatePluginSecurityInfo request)
{
- var info = _jsonSerializer.DeserializeFromStream(request.RequestStream);
+ var info = request;
_securityManager.SupporterKey = info.SupporterKey;
_securityManager.LegacyKey = info.LegacyKey;
diff --git a/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs b/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
index 45d1ae14cd..0c18725faa 100644
--- a/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
+++ b/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
@@ -64,19 +64,13 @@ namespace MediaBrowser.Api.ScheduledTasks
/// Class UpdateScheduledTaskTriggers
///
[Route("/ScheduledTasks/{Id}/Triggers", "POST")]
- public class UpdateScheduledTaskTriggers : IRequiresRequestStream
+ public class UpdateScheduledTaskTriggers : List, IReturnVoid
{
///
/// Gets or sets the task id.
///
/// The task id.
public Guid Id { get; set; }
-
- ///
- /// The raw Http Request Input Stream
- ///
- /// The request stream.
- public Stream RequestStream { get; set; }
}
///
@@ -202,7 +196,7 @@ namespace MediaBrowser.Api.ScheduledTasks
throw new ResourceNotFoundException("Task not found");
}
- var triggerInfos = _jsonSerializer.DeserializeFromStream(request.RequestStream);
+ var triggerInfos = request;
task.Triggers = triggerInfos.Select(ScheduledTaskHelpers.GetTrigger);
}
diff --git a/MediaBrowser.Api/SystemService.cs b/MediaBrowser.Api/SystemService.cs
index 0d5d47e4b7..96ed70b8f1 100644
--- a/MediaBrowser.Api/SystemService.cs
+++ b/MediaBrowser.Api/SystemService.cs
@@ -49,13 +49,8 @@ namespace MediaBrowser.Api
/// Class UpdateConfiguration
///
[Route("/System/Configuration", "POST")]
- public class UpdateConfiguration : IRequiresRequestStream
+ public class UpdateConfiguration : ServerConfiguration, IReturnVoid
{
- ///
- /// The raw Http Request Input Stream
- ///
- /// The request stream.
- public Stream RequestStream { get; set; }
}
///
@@ -160,9 +155,13 @@ namespace MediaBrowser.Api
/// The request.
public void Post(UpdateConfiguration request)
{
- var serverConfig = _jsonSerializer.DeserializeFromStream(request.RequestStream);
+ // Silly, but we need to serialize and deserialize or the XmlSerializer will write the xml with an element name of UpdateConfiguration
+
+ var json = _jsonSerializer.SerializeToString(request);
+
+ var config = _jsonSerializer.DeserializeFromString(json);
- _configurationManager.ReplaceConfiguration(serverConfig);
+ _configurationManager.ReplaceConfiguration(config);
}
}
}
diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
index ad4d9f73e3..c40e599989 100644
--- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
+++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
@@ -62,25 +62,13 @@ namespace MediaBrowser.Api.UserLibrary
///
[Route("/Users/{UserId}/Items/{Id}/DisplayPreferences", "POST")]
[ServiceStack.ServiceHost.Api(("Updates a user's display preferences for an item"))]
- public class UpdateDisplayPreferences : IReturnVoid, IRequiresRequestStream
+ public class UpdateDisplayPreferences : DisplayPreferences, IReturnVoid
{
- ///
- /// Gets or sets the user id.
- ///
- /// The user id.
- public Guid UserId { get; set; }
-
///
/// Gets or sets the id.
///
/// The id.
public string Id { get; set; }
-
- ///
- /// The raw Http Request Input Stream
- ///
- /// The request stream.
- public Stream RequestStream { get; set; }
}
///
@@ -434,7 +422,7 @@ namespace MediaBrowser.Api.UserLibrary
var item = (Folder)DtoBuilder.GetItemByClientId(itemId, _userManager, _libraryManager, user.Id);
- var displayPreferences = _jsonSerializer.DeserializeFromStream(request.RequestStream);
+ var displayPreferences = request;
var task = _libraryManager.SaveDisplayPreferencesForFolder(user, item, displayPreferences);
diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs
index d43eded296..a2618c43c1 100644
--- a/MediaBrowser.Api/UserService.cs
+++ b/MediaBrowser.Api/UserService.cs
@@ -102,32 +102,16 @@ namespace MediaBrowser.Api
/// Class UpdateUser
///
[Route("/Users/{Id}", "POST")]
- public class UpdateUser : IRequiresRequestStream, IReturnVoid
+ public class UpdateUser : UserDto, IReturnVoid
{
- ///
- /// The raw Http Request Input Stream
- ///
- /// The request stream.
- public Stream RequestStream { get; set; }
-
- ///
- /// Gets or sets the id.
- ///
- /// The id.
- public Guid Id { get; set; }
}
///
/// Class CreateUser
///
[Route("/Users", "POST")]
- public class CreateUser : IRequiresRequestStream, IReturn
+ public class CreateUser : UserDto, IReturn
{
- ///
- /// The raw Http Request Input Stream
- ///
- /// The request stream.
- public Stream RequestStream { get; set; }
}
///
@@ -292,7 +276,7 @@ namespace MediaBrowser.Api
var pathInfo = PathInfo.Parse(Request.PathInfo);
var id = new Guid(pathInfo.GetArgumentValue(1));
- var dtoUser = _jsonSerializer.DeserializeFromStream(request.RequestStream);
+ var dtoUser = request;
var user = _userManager.GetUserById(id);
@@ -310,7 +294,7 @@ namespace MediaBrowser.Api
/// System.Object.
public object Post(CreateUser request)
{
- var dtoUser = _jsonSerializer.DeserializeFromStream(request.RequestStream);
+ var dtoUser = request;
var newUser = _userManager.CreateUser(dtoUser.Name).Result;
diff --git a/MediaBrowser.Common.Implementations/Serialization/XmlSerializer.cs b/MediaBrowser.Common.Implementations/Serialization/XmlSerializer.cs
index d01199f6fc..06c60dacda 100644
--- a/MediaBrowser.Common.Implementations/Serialization/XmlSerializer.cs
+++ b/MediaBrowser.Common.Implementations/Serialization/XmlSerializer.cs
@@ -22,22 +22,6 @@ namespace MediaBrowser.Common.Implementations.Serialization
netSerializer.Serialize(writer, obj);
}
- ///
- /// Deserializes from stream.
- ///
- ///
- /// The stream.
- /// ``0.
- public T DeserializeFromStream(Stream stream)
- {
- using (var reader = new XmlTextReader(stream))
- {
- var netSerializer = new System.Xml.Serialization.XmlSerializer(typeof(T));
-
- return (T)netSerializer.Deserialize(reader);
- }
- }
-
///
/// Deserializes from stream.
///
@@ -67,20 +51,6 @@ namespace MediaBrowser.Common.Implementations.Serialization
}
}
- ///
- /// Deserializes from file.
- ///
- ///
- /// The file.
- /// ``0.
- public T DeserializeFromFile(string file)
- {
- using (var stream = File.OpenRead(file))
- {
- return DeserializeFromStream(stream);
- }
- }
-
///
/// Serializes to file.
///
diff --git a/MediaBrowser.Model/Serialization/IXmlSerializer.cs b/MediaBrowser.Model/Serialization/IXmlSerializer.cs
index 1d0e0302ba..1773773502 100644
--- a/MediaBrowser.Model/Serialization/IXmlSerializer.cs
+++ b/MediaBrowser.Model/Serialization/IXmlSerializer.cs
@@ -5,14 +5,6 @@ namespace MediaBrowser.Model.Serialization
{
public interface IXmlSerializer
{
- ///
- /// Deserializes from stream.
- ///
- ///
- /// The stream.
- /// ``0.
- T DeserializeFromStream(Stream stream);
-
///
/// Deserializes from stream.
///
@@ -28,14 +20,6 @@ namespace MediaBrowser.Model.Serialization
/// The stream.
void SerializeToStream(object obj, Stream stream);
- ///
- /// Deserializes from file.
- ///
- ///
- /// The file.
- /// ``0.
- T DeserializeFromFile(string file);
-
///
/// Serializes to file.
///
diff --git a/MediaBrowser.WebDashboard/Html/scripts/SupporterKeyPage.js b/MediaBrowser.WebDashboard/Html/scripts/SupporterKeyPage.js
index 50da44331d..cebc477641 100644
--- a/MediaBrowser.WebDashboard/Html/scripts/SupporterKeyPage.js
+++ b/MediaBrowser.WebDashboard/Html/scripts/SupporterKeyPage.js
@@ -37,9 +37,7 @@
LegacyKey: legacyKey
};
- var url = ApiClient.getUrl("Plugins/SecurityInfo");
- console.log(url);
- $.post(url, JSON.stringify(info)).done(function () {
+ ApiClient.updateSecurityInfo(info).done(function () {
Dashboard.resetPluginSecurityInfo();
Dashboard.hideLoadingMsg();
SupporterPage.load();