aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs')
-rw-r--r--MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs33
1 files changed, 30 insertions, 3 deletions
diff --git a/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs b/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs
index 38c039275..bf06cbdb0 100644
--- a/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs
@@ -2,6 +2,7 @@
using System.Linq;
using System.Threading.Tasks;
using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Common.Plugins;
using MediaBrowser.Controller;
using MediaBrowser.Model.Plugins;
@@ -9,13 +10,39 @@ namespace MediaBrowser.Api.HttpHandlers
{
public class PluginConfigurationHandler : BaseSerializationHandler<BasePluginConfiguration>
{
+ private BasePlugin _Plugin = null;
+ private BasePlugin Plugin
+ {
+ get
+ {
+ if (_Plugin == null)
+ {
+ string name = QueryString["assemblyfilename"];
+
+ _Plugin = Kernel.Instance.Plugins.First(p => p.AssemblyFileName.Equals(name, StringComparison.OrdinalIgnoreCase));
+ }
+
+ return _Plugin;
+ }
+ }
+
protected override Task<BasePluginConfiguration> GetObjectToSerialize()
{
- string name = QueryString["assemblyfilename"];
+ return Task.FromResult<BasePluginConfiguration>(Plugin.Configuration);
+ }
- BasePluginConfiguration config = Kernel.Instance.Plugins.First(p => p.AssemblyFileName.Equals(name, StringComparison.OrdinalIgnoreCase)).Configuration;
+ public override TimeSpan CacheDuration
+ {
+ get
+ {
+ return TimeSpan.FromDays(7);
+ }
+ }
- return Task.FromResult<BasePluginConfiguration>(config);
+ protected override Task<DateTime?> GetLastDateModified()
+ {
+ return Task.FromResult<DateTime?>(Plugin.ConfigurationDateLastModified);
}
+
}
}