diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-09-08 10:52:13 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-09-08 10:52:13 -0400 |
| commit | 93b42641d23cf675b74d4bdaf6d6ece07fbb8900 (patch) | |
| tree | d946a224a319e2da1cf266f027e23f19ac861faa /MediaBrowser.Api/HttpHandlers | |
| parent | a95e868300d904eaeb8fb65f234645e502699df5 (diff) | |
Switched to MEF to register http handlers
Diffstat (limited to 'MediaBrowser.Api/HttpHandlers')
21 files changed, 190 insertions, 29 deletions
diff --git a/MediaBrowser.Api/HttpHandlers/AudioHandler.cs b/MediaBrowser.Api/HttpHandlers/AudioHandler.cs index f0d86ab37..a01368635 100644 --- a/MediaBrowser.Api/HttpHandlers/AudioHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/AudioHandler.cs @@ -1,15 +1,24 @@ -using System.Collections.Generic;
+using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Model.Entities;
+using System.Collections.Generic;
+using System.ComponentModel.Composition;
using System.IO;
using System.Linq;
-using MediaBrowser.Model.Entities;
+using System.Net;
namespace MediaBrowser.Api.HttpHandlers
{
/// <summary>
/// Supported output formats are: mp3,flac,ogg,wav,asf,wma,aac
/// </summary>
+ [Export(typeof(BaseHandler))]
public class AudioHandler : BaseMediaHandler<Audio>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("audio", request);
+ }
+
/// <summary>
/// Overriding to provide mp3 as a default, since pretty much every device supports it
/// </summary>
diff --git a/MediaBrowser.Api/HttpHandlers/BaseMediaHandler.cs b/MediaBrowser.Api/HttpHandlers/BaseMediaHandler.cs index 4dae24195..628945006 100644 --- a/MediaBrowser.Api/HttpHandlers/BaseMediaHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/BaseMediaHandler.cs @@ -1,15 +1,15 @@ -using System;
+using MediaBrowser.Common.Logging;
+using MediaBrowser.Common.Net;
+using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Controller;
+using MediaBrowser.Model.Entities;
+using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
-using MediaBrowser.Common.Logging;
-using MediaBrowser.Common.Net;
-using MediaBrowser.Common.Net.Handlers;
-using MediaBrowser.Controller;
-using MediaBrowser.Model.Entities;
namespace MediaBrowser.Api.HttpHandlers
{
diff --git a/MediaBrowser.Api/HttpHandlers/GenreHandler.cs b/MediaBrowser.Api/HttpHandlers/GenreHandler.cs index dffae49d7..3be952d9d 100644 --- a/MediaBrowser.Api/HttpHandlers/GenreHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/GenreHandler.cs @@ -4,7 +4,9 @@ using MediaBrowser.Model.DTO; using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
+using System.ComponentModel.Composition;
using System.Linq;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
@@ -12,8 +14,14 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a single genre
/// </summary>
+ [Export(typeof(BaseHandler))]
public class GenreHandler : BaseSerializationHandler<IBNItem>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("genre", request);
+ }
+
protected override Task<IBNItem> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
diff --git a/MediaBrowser.Api/HttpHandlers/GenresHandler.cs b/MediaBrowser.Api/HttpHandlers/GenresHandler.cs index 073411b88..70449a235 100644 --- a/MediaBrowser.Api/HttpHandlers/GenresHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/GenresHandler.cs @@ -3,13 +3,21 @@ using MediaBrowser.Controller; using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using System.Collections.Generic;
+using System.ComponentModel.Composition;
using System.Linq;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
public class GenresHandler : BaseSerializationHandler<IBNItem[]>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("genres", request);
+ }
+
protected override Task<IBNItem[]> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
diff --git a/MediaBrowser.Api/HttpHandlers/ImageHandler.cs b/MediaBrowser.Api/HttpHandlers/ImageHandler.cs index 9496362b9..a00f5cb70 100644 --- a/MediaBrowser.Api/HttpHandlers/ImageHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/ImageHandler.cs @@ -4,14 +4,22 @@ using MediaBrowser.Common.Net.Handlers; using MediaBrowser.Controller;
using MediaBrowser.Model.Entities;
using System;
+using System.ComponentModel.Composition;
using System.IO;
using System.Linq;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
public class ImageHandler : BaseHandler
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("image", request);
+ }
+
private string _ImagePath = null;
private async Task<string> GetImagePath()
{
diff --git a/MediaBrowser.Api/HttpHandlers/ItemHandler.cs b/MediaBrowser.Api/HttpHandlers/ItemHandler.cs index e6908001d..483feb2fb 100644 --- a/MediaBrowser.Api/HttpHandlers/ItemHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/ItemHandler.cs @@ -1,12 +1,20 @@ using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
+using System.ComponentModel.Composition;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
public class ItemHandler : BaseSerializationHandler<DTOBaseItem>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("item", request);
+ }
+
protected override Task<DTOBaseItem> GetObjectToSerialize()
{
User user = ApiService.GetUserById(QueryString["userid"], true);
diff --git a/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs b/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs index a792f8b03..f1d5d0c37 100644 --- a/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/ItemListHandler.cs @@ -3,13 +3,21 @@ using MediaBrowser.Model.DTO; using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
+using System.ComponentModel.Composition;
using System.Linq;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
public class ItemListHandler : BaseSerializationHandler<DTOBaseItem[]>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("itemlist", request);
+ }
+
protected override Task<DTOBaseItem[]> GetObjectToSerialize()
{
User user = ApiService.GetUserById(QueryString["userid"], true);
diff --git a/MediaBrowser.Api/HttpHandlers/PersonHandler.cs b/MediaBrowser.Api/HttpHandlers/PersonHandler.cs index 74373675f..2089b9e74 100644 --- a/MediaBrowser.Api/HttpHandlers/PersonHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/PersonHandler.cs @@ -3,6 +3,8 @@ using MediaBrowser.Controller; using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using System.Collections.Generic;
+using System.ComponentModel.Composition;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
@@ -10,8 +12,14 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a single Person
/// </summary>
+ [Export(typeof(BaseHandler))]
public class PersonHandler : BaseSerializationHandler<IBNItem>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("person", request);
+ }
+
protected override Task<IBNItem> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
diff --git a/MediaBrowser.Api/HttpHandlers/PluginAssemblyHandler.cs b/MediaBrowser.Api/HttpHandlers/PluginAssemblyHandler.cs index 9e98f012d..07e6115a5 100644 --- a/MediaBrowser.Api/HttpHandlers/PluginAssemblyHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/PluginAssemblyHandler.cs @@ -1,14 +1,21 @@ -using System;
+using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Controller;
+using System;
+using System.ComponentModel.Composition;
using System.IO;
using System.Net;
using System.Threading.Tasks;
-using MediaBrowser.Common.Net.Handlers;
-using MediaBrowser.Controller;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
class PluginAssemblyHandler : BaseHandler
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("pluginassembly", request);
+ }
+
public override Task<string> GetContentType()
{
throw new NotImplementedException();
diff --git a/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs b/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs index bf06cbdb0..6dafd4170 100644 --- a/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs @@ -1,15 +1,23 @@ -using System;
-using System.Linq;
-using System.Threading.Tasks;
-using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Common.Plugins;
using MediaBrowser.Controller;
using MediaBrowser.Model.Plugins;
+using System;
+using System.ComponentModel.Composition;
+using System.Linq;
+using System.Net;
+using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
public class PluginConfigurationHandler : BaseSerializationHandler<BasePluginConfiguration>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("pluginconfiguration", request);
+ }
+
private BasePlugin _Plugin = null;
private BasePlugin Plugin
{
diff --git a/MediaBrowser.Api/HttpHandlers/PluginsHandler.cs b/MediaBrowser.Api/HttpHandlers/PluginsHandler.cs index d0be59cef..e90f32239 100644 --- a/MediaBrowser.Api/HttpHandlers/PluginsHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/PluginsHandler.cs @@ -1,17 +1,25 @@ -using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Controller;
using MediaBrowser.Model.DTO;
+using System.Collections.Generic;
+using System.ComponentModel.Composition;
+using System.Linq;
+using System.Net;
+using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
/// <summary>
/// Provides information about installed plugins
/// </summary>
+ [Export(typeof(BaseHandler))]
public class PluginsHandler : BaseSerializationHandler<IEnumerable<PluginInfo>>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("plugins", request);
+ }
+
protected override Task<IEnumerable<PluginInfo>> GetObjectToSerialize()
{
var plugins = Kernel.Instance.Plugins.Select(p =>
diff --git a/MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs b/MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs index a26a6daf7..bbda31dc6 100644 --- a/MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs @@ -1,14 +1,22 @@ -using System;
-using System.IO;
-using System.Threading.Tasks;
-using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Controller;
using MediaBrowser.Model.Configuration;
+using System;
+using System.ComponentModel.Composition;
+using System.IO;
+using System.Net;
+using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
class ServerConfigurationHandler : BaseSerializationHandler<ServerConfiguration>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("serverconfiguration", request);
+ }
+
protected override Task<ServerConfiguration> GetObjectToSerialize()
{
return Task.FromResult<ServerConfiguration>(Kernel.Instance.Configuration);
diff --git a/MediaBrowser.Api/HttpHandlers/StudioHandler.cs b/MediaBrowser.Api/HttpHandlers/StudioHandler.cs index 40cdc23bc..c665d2523 100644 --- a/MediaBrowser.Api/HttpHandlers/StudioHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/StudioHandler.cs @@ -4,7 +4,9 @@ using MediaBrowser.Model.DTO; using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
+using System.ComponentModel.Composition;
using System.Linq;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
@@ -12,8 +14,14 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a single studio
/// </summary>
+ [Export(typeof(BaseHandler))]
public class StudioHandler : BaseSerializationHandler<IBNItem>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("studio", request);
+ }
+
protected override Task<IBNItem> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
diff --git a/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs b/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs index 6ccc6aa78..3f12df4f7 100644 --- a/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs @@ -3,13 +3,21 @@ using MediaBrowser.Controller; using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using System.Collections.Generic;
+using System.ComponentModel.Composition;
using System.Linq;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
public class StudiosHandler : BaseSerializationHandler<IBNItem[]>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("studios", request);
+ }
+
protected override Task<IBNItem[]> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
diff --git a/MediaBrowser.Api/HttpHandlers/UserAuthenticationHandler.cs b/MediaBrowser.Api/HttpHandlers/UserAuthenticationHandler.cs index 9f72aa417..b9499e9df 100644 --- a/MediaBrowser.Api/HttpHandlers/UserAuthenticationHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/UserAuthenticationHandler.cs @@ -1,12 +1,20 @@ using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Controller;
using MediaBrowser.Model.Entities;
+using System.ComponentModel.Composition;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
class UserAuthenticationHandler : BaseSerializationHandler<AuthenticationResult>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("UserAuthentication", request);
+ }
+
protected override async Task<AuthenticationResult> GetObjectToSerialize()
{
string userId = await GetFormValue("userid").ConfigureAwait(false);
diff --git a/MediaBrowser.Api/HttpHandlers/UserHandler.cs b/MediaBrowser.Api/HttpHandlers/UserHandler.cs index 706908da2..39ec9dec2 100644 --- a/MediaBrowser.Api/HttpHandlers/UserHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/UserHandler.cs @@ -1,12 +1,20 @@ using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
+using System.ComponentModel.Composition;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
class UserHandler : BaseSerializationHandler<DTOUser>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("user", request);
+ }
+
protected override Task<DTOUser> GetObjectToSerialize()
{
string id = QueryString["id"];
diff --git a/MediaBrowser.Api/HttpHandlers/UsersHandler.cs b/MediaBrowser.Api/HttpHandlers/UsersHandler.cs index 82bd1f498..1451216bc 100644 --- a/MediaBrowser.Api/HttpHandlers/UsersHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/UsersHandler.cs @@ -2,13 +2,21 @@ using MediaBrowser.Controller;
using MediaBrowser.Model.DTO;
using System.Collections.Generic;
+using System.ComponentModel.Composition;
using System.Linq;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
class UsersHandler : BaseSerializationHandler<IEnumerable<DTOUser>>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("users", request);
+ }
+
protected override Task<IEnumerable<DTOUser>> GetObjectToSerialize()
{
return Task.FromResult<IEnumerable<DTOUser>>(Kernel.Instance.Users.Select(u => ApiService.GetDTOUser(u)));
diff --git a/MediaBrowser.Api/HttpHandlers/VideoHandler.cs b/MediaBrowser.Api/HttpHandlers/VideoHandler.cs index ab3d5a793..14736a2e9 100644 --- a/MediaBrowser.Api/HttpHandlers/VideoHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/VideoHandler.cs @@ -1,18 +1,27 @@ -using System;
+using MediaBrowser.Common.Drawing;
+using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Model.Entities;
+using System;
using System.Collections.Generic;
+using System.ComponentModel.Composition;
using System.Drawing;
using System.IO;
using System.Linq;
-using MediaBrowser.Common.Drawing;
-using MediaBrowser.Model.Entities;
+using System.Net;
namespace MediaBrowser.Api.HttpHandlers
{
/// <summary>
/// Supported output formats: mkv,m4v,mp4,asf,wmv,mov,webm,ogv,3gp,avi,ts,flv
/// </summary>
+ [Export(typeof(BaseHandler))]
class VideoHandler : BaseMediaHandler<Video>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("video", request);
+ }
+
/// <summary>
/// We can output these files directly, but we can't encode them
/// </summary>
diff --git a/MediaBrowser.Api/HttpHandlers/WeatherHandler.cs b/MediaBrowser.Api/HttpHandlers/WeatherHandler.cs index b46473f11..93d4c8877 100644 --- a/MediaBrowser.Api/HttpHandlers/WeatherHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/WeatherHandler.cs @@ -1,13 +1,21 @@ -using System;
-using System.Threading.Tasks;
-using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Controller;
using MediaBrowser.Model.Weather;
+using System;
+using System.ComponentModel.Composition;
+using System.Net;
+using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
class WeatherHandler : BaseSerializationHandler<WeatherInfo>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("weather", request);
+ }
+
protected override Task<WeatherInfo> GetObjectToSerialize()
{
// If a specific zip code was requested on the query string, use that. Otherwise use the value from configuration
diff --git a/MediaBrowser.Api/HttpHandlers/YearHandler.cs b/MediaBrowser.Api/HttpHandlers/YearHandler.cs index 44e9f5198..507497970 100644 --- a/MediaBrowser.Api/HttpHandlers/YearHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/YearHandler.cs @@ -3,6 +3,8 @@ using MediaBrowser.Controller; using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using System.Collections.Generic;
+using System.ComponentModel.Composition;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
@@ -10,8 +12,14 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a single year
/// </summary>
+ [Export(typeof(BaseHandler))]
public class YearHandler : BaseSerializationHandler<IBNItem>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("year", request);
+ }
+
protected override Task<IBNItem> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
diff --git a/MediaBrowser.Api/HttpHandlers/YearsHandler.cs b/MediaBrowser.Api/HttpHandlers/YearsHandler.cs index dffc0328c..852ffe2da 100644 --- a/MediaBrowser.Api/HttpHandlers/YearsHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/YearsHandler.cs @@ -3,13 +3,21 @@ using MediaBrowser.Controller; using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using System.Collections.Generic;
+using System.ComponentModel.Composition;
using System.Linq;
+using System.Net;
using System.Threading.Tasks;
namespace MediaBrowser.Api.HttpHandlers
{
+ [Export(typeof(BaseHandler))]
public class YearsHandler : BaseSerializationHandler<IBNItem[]>
{
+ public override bool HandlesRequest(HttpListenerRequest request)
+ {
+ return ApiService.IsApiUrlMatch("years", request);
+ }
+
protected override Task<IBNItem[]> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
|
