BaseEmbeddedResourceHandler.cs 789 B

12345678910111213141516171819202122232425262728
  1. using System.IO;
  2. using System.Threading.Tasks;
  3. namespace MediaBrowser.Common.Net.Handlers
  4. {
  5. public abstract class BaseEmbeddedResourceHandler : BaseHandler
  6. {
  7. public BaseEmbeddedResourceHandler(string resourcePath)
  8. : base()
  9. {
  10. ResourcePath = resourcePath;
  11. }
  12. protected string ResourcePath { get; set; }
  13. public override Task<string> GetContentType()
  14. {
  15. return Task.FromResult<string>(MimeTypes.GetMimeType(ResourcePath));
  16. }
  17. protected override Task WriteResponseToOutputStream(Stream stream)
  18. {
  19. return GetEmbeddedResourceStream().CopyToAsync(stream);
  20. }
  21. protected abstract Stream GetEmbeddedResourceStream();
  22. }
  23. }