aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.HtmlBrowser
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.HtmlBrowser')
-rw-r--r--MediaBrowser.HtmlBrowser/Handlers/EmbeddedResourceHandler.cs23
-rw-r--r--MediaBrowser.HtmlBrowser/MediaBrowser.HtmlBrowser.csproj2
-rw-r--r--MediaBrowser.HtmlBrowser/Plugin.cs14
3 files changed, 35 insertions, 4 deletions
diff --git a/MediaBrowser.HtmlBrowser/Handlers/EmbeddedResourceHandler.cs b/MediaBrowser.HtmlBrowser/Handlers/EmbeddedResourceHandler.cs
new file mode 100644
index 000000000..a153eb119
--- /dev/null
+++ b/MediaBrowser.HtmlBrowser/Handlers/EmbeddedResourceHandler.cs
@@ -0,0 +1,23 @@
+using System.IO;
+using System.Reflection;
+using MediaBrowser.Common.Net;
+using MediaBrowser.Common.Net.Handlers;
+
+namespace MediaBrowser.HtmlBrowser.Handlers
+{
+ class EmbeddedResourceHandler : BaseEmbeddedResourceHandler
+ {
+ public EmbeddedResourceHandler(RequestContext ctx, string resourcePath)
+ : base(ctx, resourcePath)
+ {
+
+ }
+
+ protected override Stream GetEmbeddedResourceStream()
+ {
+ string path = ResourcePath.Replace("/", ".");
+
+ return Assembly.GetExecutingAssembly().GetManifestResourceStream("MediaBrowser.HtmlBrowser.Html." + path);
+ }
+ }
+}
diff --git a/MediaBrowser.HtmlBrowser/MediaBrowser.HtmlBrowser.csproj b/MediaBrowser.HtmlBrowser/MediaBrowser.HtmlBrowser.csproj
index 5200d1459..d01ca1b1d 100644
--- a/MediaBrowser.HtmlBrowser/MediaBrowser.HtmlBrowser.csproj
+++ b/MediaBrowser.HtmlBrowser/MediaBrowser.HtmlBrowser.csproj
@@ -42,6 +42,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="Handlers\EmbeddedResourceHandler.cs" />
<Compile Include="Plugin.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
@@ -92,7 +93,6 @@
<EmbeddedResource Include="Html\thirdparty\jquery.mobile110\jquery.mobile.theme-1.1.0.min.css" />
</ItemGroup>
<ItemGroup>
- <Folder Include="Handlers\" />
<Folder Include="Html\css\images\" />
<Folder Include="Html\scripts\" />
</ItemGroup>
diff --git a/MediaBrowser.HtmlBrowser/Plugin.cs b/MediaBrowser.HtmlBrowser/Plugin.cs
index 47277797f..1599881d0 100644
--- a/MediaBrowser.HtmlBrowser/Plugin.cs
+++ b/MediaBrowser.HtmlBrowser/Plugin.cs
@@ -3,6 +3,7 @@ using System.Reactive.Linq;
using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Common.Plugins;
using MediaBrowser.Controller;
+using MediaBrowser.HtmlBrowser.Handlers;
namespace MediaBrowser.HtmlBrowser
{
@@ -12,11 +13,18 @@ namespace MediaBrowser.HtmlBrowser
{
var httpServer = Kernel.Instance.HttpServer;
- /*httpServer.Where(ctx => ctx.Request.Url.LocalPath.EndsWith("/browser/index.html", StringComparison.OrdinalIgnoreCase)).Subscribe(ctx => ctx.Respond(new EmbeddedResourceHandler(ctx, "MediaBrowser.HtmlBrowser.Html.index.html")));
+ httpServer.Where(ctx => ctx.LocalPath.IndexOf("/browser/", StringComparison.OrdinalIgnoreCase) != -1).Subscribe(ctx =>
+ {
+ string localPath = ctx.LocalPath;
+ string srch = "/browser/";
- httpServer.Where(ctx => ctx.Request.Url.LocalPath.EndsWith("/browser/resource", StringComparison.OrdinalIgnoreCase)).Subscribe(ctx => ctx.Respond(new EmbeddedResourceHandler(ctx)));
+ int index = localPath.IndexOf(srch, StringComparison.OrdinalIgnoreCase);
- httpServer.Where(ctx => ctx.Request.Url.LocalPath.EndsWith("/browser/favicon.ico", StringComparison.OrdinalIgnoreCase)).Subscribe(ctx => ctx.Respond(new EmbeddedResourceHandler(ctx, "MediaBrowser.HtmlBrowser.Html.css.images.favicon.ico")));*/
+ string resource = localPath.Substring(index + srch.Length);
+
+ ctx.Respond(new EmbeddedResourceHandler(ctx, resource));
+
+ });
}
}
}