aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/HttpHandlers
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/HttpHandlers')
-rw-r--r--MediaBrowser.Api/HttpHandlers/GenreHandler.cs2
-rw-r--r--MediaBrowser.Api/HttpHandlers/GenresHandler.cs2
-rw-r--r--MediaBrowser.Api/HttpHandlers/ItemHandler.cs2
-rw-r--r--MediaBrowser.Api/HttpHandlers/ItemListHandler.cs2
-rw-r--r--MediaBrowser.Api/HttpHandlers/PersonHandler.cs2
-rw-r--r--MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs2
-rw-r--r--MediaBrowser.Api/HttpHandlers/PluginsHandler.cs2
-rw-r--r--MediaBrowser.Api/HttpHandlers/StudioHandler.cs2
-rw-r--r--MediaBrowser.Api/HttpHandlers/StudiosHandler.cs2
-rw-r--r--MediaBrowser.Api/HttpHandlers/UsersHandler.cs2
-rw-r--r--MediaBrowser.Api/HttpHandlers/WeatherHandler.cs36
-rw-r--r--MediaBrowser.Api/HttpHandlers/YearHandler.cs2
-rw-r--r--MediaBrowser.Api/HttpHandlers/YearsHandler.cs2
13 files changed, 48 insertions, 12 deletions
diff --git a/MediaBrowser.Api/HttpHandlers/GenreHandler.cs b/MediaBrowser.Api/HttpHandlers/GenreHandler.cs
index c2b70e106..eeadf1e45 100644
--- a/MediaBrowser.Api/HttpHandlers/GenreHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/GenreHandler.cs
@@ -12,7 +12,7 @@ namespace MediaBrowser.Api.HttpHandlers
/// <summary>
/// Gets a single genre
/// </summary>
- public class GenreHandler : BaseJsonHandler<IBNItem>
+ public class GenreHandler : BaseSerializationHandler<IBNItem>
{
protected override Task<IBNItem> GetObjectToSerialize()
{
diff --git a/MediaBrowser.Api/HttpHandlers/GenresHandler.cs b/MediaBrowser.Api/HttpHandlers/GenresHandler.cs
index b5608c0a3..9be2efa17 100644
--- a/MediaBrowser.Api/HttpHandlers/GenresHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/GenresHandler.cs
@@ -9,7 +9,7 @@ using MediaBrowser.Model.Entities;
namespace MediaBrowser.Api.HttpHandlers
{
- public class GenresHandler : BaseJsonHandler<IBNItem[]>
+ public class GenresHandler : BaseSerializationHandler<IBNItem[]>
{
protected override Task<IBNItem[]> GetObjectToSerialize()
{
diff --git a/MediaBrowser.Api/HttpHandlers/ItemHandler.cs b/MediaBrowser.Api/HttpHandlers/ItemHandler.cs
index 4f2a9c68e..35310f042 100644
--- a/MediaBrowser.Api/HttpHandlers/ItemHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/ItemHandler.cs
@@ -8,7 +8,7 @@ using MediaBrowser.Model.Entities;
namespace MediaBrowser.Api.HttpHandlers
{
- public class ItemHandler : BaseJsonHandler<DTOBaseItem>
+ public class ItemHandler : BaseSerializationHandler<DTOBaseItem>
{
protected override Task<DTOBaseItem> GetObjectToSerialize()
{
diff --git a/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs b/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs
index 9d5e3eb58..09814b191 100644
--- a/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs
@@ -9,7 +9,7 @@ using MediaBrowser.Model.Entities;
namespace MediaBrowser.Api.HttpHandlers
{
- public class ItemListHandler : BaseJsonHandler<DTOBaseItem[]>
+ public class ItemListHandler : BaseSerializationHandler<DTOBaseItem[]>
{
protected override Task<DTOBaseItem[]> GetObjectToSerialize()
{
diff --git a/MediaBrowser.Api/HttpHandlers/PersonHandler.cs b/MediaBrowser.Api/HttpHandlers/PersonHandler.cs
index 3c34efae5..0d496c240 100644
--- a/MediaBrowser.Api/HttpHandlers/PersonHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/PersonHandler.cs
@@ -12,7 +12,7 @@ namespace MediaBrowser.Api.HttpHandlers
/// <summary>
/// Gets a single Person
/// </summary>
- public class PersonHandler : BaseJsonHandler<IBNItem>
+ public class PersonHandler : BaseSerializationHandler<IBNItem>
{
protected override Task<IBNItem> GetObjectToSerialize()
{
diff --git a/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs b/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs
index fbc16109d..6abfb9b2d 100644
--- a/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs
@@ -7,7 +7,7 @@ using MediaBrowser.Model.Plugins;
namespace MediaBrowser.Api.HttpHandlers
{
- public class PluginConfigurationHandler : BaseJsonHandler<BasePluginConfiguration>
+ public class PluginConfigurationHandler : BaseSerializationHandler<BasePluginConfiguration>
{
protected override Task<BasePluginConfiguration> GetObjectToSerialize()
{
diff --git a/MediaBrowser.Api/HttpHandlers/PluginsHandler.cs b/MediaBrowser.Api/HttpHandlers/PluginsHandler.cs
index 1cb4e95f7..67246cbc6 100644
--- a/MediaBrowser.Api/HttpHandlers/PluginsHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/PluginsHandler.cs
@@ -10,7 +10,7 @@ namespace MediaBrowser.Api.HttpHandlers
/// <summary>
/// Provides information about installed plugins
/// </summary>
- public class PluginsHandler : BaseJsonHandler<IEnumerable<PluginInfo>>
+ public class PluginsHandler : BaseSerializationHandler<IEnumerable<PluginInfo>>
{
protected override Task<IEnumerable<PluginInfo>> GetObjectToSerialize()
{
diff --git a/MediaBrowser.Api/HttpHandlers/StudioHandler.cs b/MediaBrowser.Api/HttpHandlers/StudioHandler.cs
index af7e7fed0..458dd9da1 100644
--- a/MediaBrowser.Api/HttpHandlers/StudioHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/StudioHandler.cs
@@ -12,7 +12,7 @@ namespace MediaBrowser.Api.HttpHandlers
/// <summary>
/// Gets a single studio
/// </summary>
- public class StudioHandler : BaseJsonHandler<IBNItem>
+ public class StudioHandler : BaseSerializationHandler<IBNItem>
{
protected override Task<IBNItem> GetObjectToSerialize()
{
diff --git a/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs b/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs
index 486aa762b..d9805c43c 100644
--- a/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs
@@ -9,7 +9,7 @@ using MediaBrowser.Model.Entities;
namespace MediaBrowser.Api.HttpHandlers
{
- public class StudiosHandler : BaseJsonHandler<IBNItem[]>
+ public class StudiosHandler : BaseSerializationHandler<IBNItem[]>
{
protected override Task<IBNItem[]> GetObjectToSerialize()
{
diff --git a/MediaBrowser.Api/HttpHandlers/UsersHandler.cs b/MediaBrowser.Api/HttpHandlers/UsersHandler.cs
index 44d23a208..e7617fe88 100644
--- a/MediaBrowser.Api/HttpHandlers/UsersHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/UsersHandler.cs
@@ -7,7 +7,7 @@ using MediaBrowser.Model.DTO;
namespace MediaBrowser.Api.HttpHandlers
{
- class UsersHandler : BaseJsonHandler<IEnumerable<DTOUser>>
+ class UsersHandler : BaseSerializationHandler<IEnumerable<DTOUser>>
{
protected override Task<IEnumerable<DTOUser>> GetObjectToSerialize()
{
diff --git a/MediaBrowser.Api/HttpHandlers/WeatherHandler.cs b/MediaBrowser.Api/HttpHandlers/WeatherHandler.cs
new file mode 100644
index 000000000..b46473f11
--- /dev/null
+++ b/MediaBrowser.Api/HttpHandlers/WeatherHandler.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Threading.Tasks;
+using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Controller;
+using MediaBrowser.Model.Weather;
+
+namespace MediaBrowser.Api.HttpHandlers
+{
+ class WeatherHandler : BaseSerializationHandler<WeatherInfo>
+ {
+ protected override Task<WeatherInfo> GetObjectToSerialize()
+ {
+ // If a specific zip code was requested on the query string, use that. Otherwise use the value from configuration
+
+ string zipCode = QueryString["zipcode"];
+
+ if (string.IsNullOrWhiteSpace(zipCode))
+ {
+ zipCode = Kernel.Instance.Configuration.WeatherZipCode;
+ }
+
+ return Kernel.Instance.WeatherClient.GetWeatherInfoAsync(zipCode);
+ }
+
+ /// <summary>
+ /// Tell the client to cache the weather info for 15 minutes
+ /// </summary>
+ public override TimeSpan CacheDuration
+ {
+ get
+ {
+ return TimeSpan.FromMinutes(15);
+ }
+ }
+ }
+}
diff --git a/MediaBrowser.Api/HttpHandlers/YearHandler.cs b/MediaBrowser.Api/HttpHandlers/YearHandler.cs
index 0eb674e27..1b0c7f670 100644
--- a/MediaBrowser.Api/HttpHandlers/YearHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/YearHandler.cs
@@ -12,7 +12,7 @@ namespace MediaBrowser.Api.HttpHandlers
/// <summary>
/// Gets a single year
/// </summary>
- public class YearHandler : BaseJsonHandler<IBNItem>
+ public class YearHandler : BaseSerializationHandler<IBNItem>
{
protected override Task<IBNItem> GetObjectToSerialize()
{
diff --git a/MediaBrowser.Api/HttpHandlers/YearsHandler.cs b/MediaBrowser.Api/HttpHandlers/YearsHandler.cs
index ff05120a0..9a7325f64 100644
--- a/MediaBrowser.Api/HttpHandlers/YearsHandler.cs
+++ b/MediaBrowser.Api/HttpHandlers/YearsHandler.cs
@@ -9,7 +9,7 @@ using MediaBrowser.Model.Entities;
namespace MediaBrowser.Api.HttpHandlers
{
- public class YearsHandler : BaseJsonHandler<IBNItem[]>
+ public class YearsHandler : BaseSerializationHandler<IBNItem[]>
{
protected override Task<IBNItem[]> GetObjectToSerialize()
{