fixed configuration saving issues

This commit is contained in:
LukePulverenti
2013-03-04 21:05:59 -05:00
parent e17b515697
commit cd69bd7c7d
10 changed files with 69 additions and 123 deletions

View File

@@ -49,13 +49,8 @@ namespace MediaBrowser.Api
/// Class UpdateConfiguration
/// </summary>
[Route("/System/Configuration", "POST")]
public class UpdateConfiguration : IRequiresRequestStream
public class UpdateConfiguration : ServerConfiguration, IReturnVoid
{
/// <summary>
/// The raw Http Request Input Stream
/// </summary>
/// <value>The request stream.</value>
public Stream RequestStream { get; set; }
}
/// <summary>
@@ -160,9 +155,13 @@ namespace MediaBrowser.Api
/// <param name="request">The request.</param>
public void Post(UpdateConfiguration request)
{
var serverConfig = _jsonSerializer.DeserializeFromStream<ServerConfiguration>(request.RequestStream);
// Silly, but we need to serialize and deserialize or the XmlSerializer will write the xml with an element name of UpdateConfiguration
_configurationManager.ReplaceConfiguration(serverConfig);
var json = _jsonSerializer.SerializeToString(request);
var config = _jsonSerializer.DeserializeFromString<ServerConfiguration>(json);
_configurationManager.ReplaceConfiguration(config);
}
}
}