aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid <daullmer@gmail.com>2020-07-14 20:20:24 +0200
committerDavid <daullmer@gmail.com>2020-07-14 20:20:24 +0200
commitc6a0306a34e72fca424545bd33772e91aab92ed7 (patch)
treef5b8db2594f7f5176a58ebd91b0f71d6b7265772
parent9f567e6471e2a70aaa3028fb6b183e24987f627b (diff)
Move field to the controller
-rw-r--r--Jellyfin.Api/Controllers/ConfigurationController.cs4
-rw-r--r--Jellyfin.Api/Controllers/PluginsController.cs5
-rw-r--r--MediaBrowser.Common/Json/JsonDefaults.cs30
3 files changed, 17 insertions, 22 deletions
diff --git a/Jellyfin.Api/Controllers/ConfigurationController.cs b/Jellyfin.Api/Controllers/ConfigurationController.cs
index d3c29969b..7d262ed59 100644
--- a/Jellyfin.Api/Controllers/ConfigurationController.cs
+++ b/Jellyfin.Api/Controllers/ConfigurationController.cs
@@ -23,6 +23,8 @@ namespace Jellyfin.Api.Controllers
private readonly IServerConfigurationManager _configurationManager;
private readonly IMediaEncoder _mediaEncoder;
+ private readonly JsonSerializerOptions _serializerOptions = JsonDefaults.GetOptions();
+
/// <summary>
/// Initializes a new instance of the <see cref="ConfigurationController"/> class.
/// </summary>
@@ -88,7 +90,7 @@ namespace Jellyfin.Api.Controllers
public async Task<ActionResult> UpdateNamedConfiguration([FromRoute] string? key)
{
var configurationType = _configurationManager.GetConfigurationType(key);
- var configuration = await JsonSerializer.DeserializeAsync(Request.Body, configurationType, JsonDefaults.GetOptions()).ConfigureAwait(false);
+ var configuration = await JsonSerializer.DeserializeAsync(Request.Body, configurationType, _serializerOptions).ConfigureAwait(false);
_configurationManager.SaveConfiguration(key, configuration);
return NoContent();
}
diff --git a/Jellyfin.Api/Controllers/PluginsController.cs b/Jellyfin.Api/Controllers/PluginsController.cs
index 9b5529c37..770d74838 100644
--- a/Jellyfin.Api/Controllers/PluginsController.cs
+++ b/Jellyfin.Api/Controllers/PluginsController.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
@@ -27,6 +26,8 @@ namespace Jellyfin.Api.Controllers
private readonly IApplicationHost _appHost;
private readonly IInstallationManager _installationManager;
+ private readonly JsonSerializerOptions _serializerOptions = JsonDefaults.GetOptions();
+
/// <summary>
/// Initializes a new instance of the <see cref="PluginsController"/> class.
/// </summary>
@@ -119,7 +120,7 @@ namespace Jellyfin.Api.Controllers
return NotFound();
}
- var configuration = (BasePluginConfiguration)await JsonSerializer.DeserializeAsync(Request.Body, plugin.ConfigurationType, JsonDefaults.GetOptions())
+ var configuration = (BasePluginConfiguration)await JsonSerializer.DeserializeAsync(Request.Body, plugin.ConfigurationType, _serializerOptions)
.ConfigureAwait(false);
plugin.UpdateConfiguration(configuration);
diff --git a/MediaBrowser.Common/Json/JsonDefaults.cs b/MediaBrowser.Common/Json/JsonDefaults.cs
index c8217f9ab..36ab6d900 100644
--- a/MediaBrowser.Common/Json/JsonDefaults.cs
+++ b/MediaBrowser.Common/Json/JsonDefaults.cs
@@ -9,8 +9,6 @@ namespace MediaBrowser.Common.Json
/// </summary>
public static class JsonDefaults
{
- private static JsonSerializerOptions _defaultOptions;
-
/// <summary>
/// Gets the default <see cref="JsonSerializerOptions" /> options.
/// </summary>
@@ -23,26 +21,20 @@ namespace MediaBrowser.Common.Json
/// <returns>The default <see cref="JsonSerializerOptions" /> options.</returns>
public static JsonSerializerOptions GetOptions()
{
- if (_defaultOptions == null)
+ var options = new JsonSerializerOptions
{
- var options = new JsonSerializerOptions
- {
- ReadCommentHandling = JsonCommentHandling.Disallow,
- WriteIndented = false
- };
-
- options.Converters.Add(new JsonGuidConverter());
- options.Converters.Add(new JsonInt32Converter());
- options.Converters.Add(new JsonStringEnumConverter());
- options.Converters.Add(new JsonNonStringKeyDictionaryConverterFactory());
- options.Converters.Add(new JsonInt64Converter());
- options.Converters.Add(new JsonDoubleConverter());
+ ReadCommentHandling = JsonCommentHandling.Disallow,
+ WriteIndented = false
+ };
- _defaultOptions = options;
- return _defaultOptions;
- }
+ options.Converters.Add(new JsonGuidConverter());
+ options.Converters.Add(new JsonInt32Converter());
+ options.Converters.Add(new JsonStringEnumConverter());
+ options.Converters.Add(new JsonNonStringKeyDictionaryConverterFactory());
+ options.Converters.Add(new JsonInt64Converter());
+ options.Converters.Add(new JsonDoubleConverter());
- return _defaultOptions;
+ return options;
}
/// <summary>