aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Plugin.cs
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-07-12 02:55:27 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-07-12 02:55:27 -0400
commitb50f78e5da6f3fdfc59e577ca61b88771da7d211 (patch)
tree644ba93dc04bb8837a19a9cd5c3dfa8c6d62a91d /MediaBrowser.Api/Plugin.cs
Initial check-in
Diffstat (limited to 'MediaBrowser.Api/Plugin.cs')
-rw-r--r--MediaBrowser.Api/Plugin.cs33
1 files changed, 33 insertions, 0 deletions
diff --git a/MediaBrowser.Api/Plugin.cs b/MediaBrowser.Api/Plugin.cs
new file mode 100644
index 000000000..3137978fe
--- /dev/null
+++ b/MediaBrowser.Api/Plugin.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Reactive.Linq;
+using MediaBrowser.Common.Plugins;
+using MediaBrowser.Controller;
+using MediaBrowser.Controller.Net;
+using MediaBrowser.Api.HttpHandlers;
+
+namespace MediaBrowser.Api
+{
+ public class Plugin : BasePlugin<BasePluginConfiguration>
+ {
+ List<IDisposable> HttpHandlers = new List<IDisposable>();
+
+ protected override void InitInternal()
+ {
+ HttpHandlers.Add(Kernel.Instance.HttpServer.Where(ctx => ctx.Request.Url.LocalPath.EndsWith("mediabrowser/api/item")).Subscribe(ctx => ctx.Respond(new ItemHandler(ctx))));
+ HttpHandlers.Add(Kernel.Instance.HttpServer.Where(ctx => ctx.Request.Url.LocalPath.EndsWith("mediabrowser/api/image")).Subscribe(ctx => ctx.Respond(new ItemHandler(ctx))));
+ }
+
+ public override void Dispose()
+ {
+ base.Dispose();
+
+ foreach (var handler in HttpHandlers)
+ {
+ handler.Dispose();
+ }
+
+ HttpHandlers.Clear();
+ }
+ }
+}