From 8b7effd6ff1694688e93d03a48c5dcddb4efe4f0 Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Tue, 18 Sep 2012 15:33:57 -0400 Subject: Moved discovery of loggers and weather providers to MEF. Also added support for third-party image processors, also discovered through MEF. --- .../Weather/BaseWeatherProvider.cs | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 MediaBrowser.Controller/Weather/BaseWeatherProvider.cs (limited to 'MediaBrowser.Controller/Weather/BaseWeatherProvider.cs') diff --git a/MediaBrowser.Controller/Weather/BaseWeatherProvider.cs b/MediaBrowser.Controller/Weather/BaseWeatherProvider.cs new file mode 100644 index 000000000..c3d436e66 --- /dev/null +++ b/MediaBrowser.Controller/Weather/BaseWeatherProvider.cs @@ -0,0 +1,34 @@ +using MediaBrowser.Common.Logging; +using MediaBrowser.Model.Weather; +using System; +using System.Net; +using System.Net.Cache; +using System.Net.Http; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.Weather +{ + public abstract class BaseWeatherProvider : IDisposable + { + protected HttpClient HttpClient { get; private set; } + + protected BaseWeatherProvider() + { + var handler = new WebRequestHandler { }; + + handler.AutomaticDecompression = DecompressionMethods.Deflate; + handler.CachePolicy = new RequestCachePolicy(RequestCacheLevel.Revalidate); + + HttpClient = new HttpClient(handler); + } + + public virtual void Dispose() + { + Logger.LogInfo("Disposing " + GetType().Name); + + HttpClient.Dispose(); + } + + public abstract Task GetWeatherInfoAsync(string zipCode); + } +} -- cgit v1.2.3