diff options
| author | David <daullmer@gmail.com> | 2020-07-14 20:20:24 +0200 |
|---|---|---|
| committer | David <daullmer@gmail.com> | 2020-07-14 20:20:24 +0200 |
| commit | c6a0306a34e72fca424545bd33772e91aab92ed7 (patch) | |
| tree | f5b8db2594f7f5176a58ebd91b0f71d6b7265772 | |
| parent | 9f567e6471e2a70aaa3028fb6b183e24987f627b (diff) | |
Move field to the controller
| -rw-r--r-- | Jellyfin.Api/Controllers/ConfigurationController.cs | 4 | ||||
| -rw-r--r-- | Jellyfin.Api/Controllers/PluginsController.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Common/Json/JsonDefaults.cs | 30 |
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> |
