From 80b3ad7bd20329e6a5bbf6eeb76af62c87434a7c Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Thu, 19 Jul 2012 22:22:44 -0400 Subject: Moved the http server to it's own assembly. added comments and made other minor re-organizations. --- .../Handlers/BaseEmbeddedResourceHandler.cs | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 MediaBrowser.Net/Handlers/BaseEmbeddedResourceHandler.cs (limited to 'MediaBrowser.Net/Handlers/BaseEmbeddedResourceHandler.cs') diff --git a/MediaBrowser.Net/Handlers/BaseEmbeddedResourceHandler.cs b/MediaBrowser.Net/Handlers/BaseEmbeddedResourceHandler.cs new file mode 100644 index 000000000..d7f579d05 --- /dev/null +++ b/MediaBrowser.Net/Handlers/BaseEmbeddedResourceHandler.cs @@ -0,0 +1,58 @@ +using System; +using System.IO; + +namespace MediaBrowser.Net.Handlers +{ + public abstract class BaseEmbeddedResourceHandler : BaseHandler + { + public BaseEmbeddedResourceHandler(string resourcePath) + : base() + { + ResourcePath = resourcePath; + } + + protected string ResourcePath { get; set; } + + public override string ContentType + { + get + { + string extension = Path.GetExtension(ResourcePath); + + if (extension.EndsWith("jpeg", StringComparison.OrdinalIgnoreCase) || extension.EndsWith("jpg", StringComparison.OrdinalIgnoreCase)) + { + return "image/jpeg"; + } + else if (extension.EndsWith("png", StringComparison.OrdinalIgnoreCase)) + { + return "image/png"; + } + else if (extension.EndsWith("ico", StringComparison.OrdinalIgnoreCase)) + { + return "image/ico"; + } + else if (extension.EndsWith("js", StringComparison.OrdinalIgnoreCase)) + { + return "application/x-javascript"; + } + else if (extension.EndsWith("css", StringComparison.OrdinalIgnoreCase)) + { + return "text/css"; + } + else if (extension.EndsWith("html", StringComparison.OrdinalIgnoreCase)) + { + return "text/html; charset=utf-8"; + } + + return "text/plain; charset=utf-8"; + } + } + + protected override void WriteResponseToOutputStream(Stream stream) + { + GetEmbeddedResourceStream().CopyTo(stream); + } + + protected abstract Stream GetEmbeddedResourceStream(); + } +} -- cgit v1.2.3