diff options
Diffstat (limited to 'MediaBrowser.Api/HttpHandlers')
3 files changed, 47 insertions, 5 deletions
diff --git a/MediaBrowser.Api/HttpHandlers/ImageHandler.cs b/MediaBrowser.Api/HttpHandlers/ImageHandler.cs index 470e39cd2..c45d20b7c 100644 --- a/MediaBrowser.Api/HttpHandlers/ImageHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/ImageHandler.cs @@ -136,7 +136,7 @@ namespace MediaBrowser.Api.HttpHandlers return null;
}
- return File.GetLastWriteTime(await GetImagePath().ConfigureAwait(false));
+ return File.GetLastWriteTimeUtc(await GetImagePath().ConfigureAwait(false));
}
private int? Height
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);
}
+
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs b/MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs index 175876b4c..a26a6daf7 100644 --- a/MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs @@ -1,4 +1,6 @@ -using System.Threading.Tasks;
+using System;
+using System.IO;
+using System.Threading.Tasks;
using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Controller;
using MediaBrowser.Model.Configuration;
@@ -11,5 +13,18 @@ namespace MediaBrowser.Api.HttpHandlers {
return Task.FromResult<ServerConfiguration>(Kernel.Instance.Configuration);
}
+
+ public override TimeSpan CacheDuration
+ {
+ get
+ {
+ return TimeSpan.FromDays(7);
+ }
+ }
+
+ protected override Task<DateTime?> GetLastDateModified()
+ {
+ return Task.FromResult<DateTime?>(File.GetLastWriteTimeUtc(Kernel.Instance.ApplicationPaths.SystemConfigurationFilePath));
+ }
}
}
|
