diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-07-12 02:55:27 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-07-12 02:55:27 -0400 |
| commit | b50f78e5da6f3fdfc59e577ca61b88771da7d211 (patch) | |
| tree | 644ba93dc04bb8837a19a9cd5c3dfa8c6d62a91d /MediaBrowser.Api/Plugin.cs | |
Initial check-in
Diffstat (limited to 'MediaBrowser.Api/Plugin.cs')
| -rw-r--r-- | MediaBrowser.Api/Plugin.cs | 33 |
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();
+ }
+ }
+}
|
