PluginAssemblyHandler.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using MediaBrowser.Common.Net.Handlers;
  2. using MediaBrowser.Controller;
  3. using System;
  4. using System.ComponentModel.Composition;
  5. using System.IO;
  6. using System.Net;
  7. using System.Threading.Tasks;
  8. namespace MediaBrowser.Api.HttpHandlers
  9. {
  10. [Export(typeof(BaseHandler))]
  11. class PluginAssemblyHandler : BaseHandler
  12. {
  13. public override bool HandlesRequest(HttpListenerRequest request)
  14. {
  15. return ApiService.IsApiUrlMatch("pluginassembly", request);
  16. }
  17. public override Task<string> GetContentType()
  18. {
  19. throw new NotImplementedException();
  20. }
  21. protected override Task WriteResponseToOutputStream(Stream stream)
  22. {
  23. throw new NotImplementedException();
  24. }
  25. public override Task ProcessRequest(HttpListenerContext ctx)
  26. {
  27. string filename = ctx.Request.QueryString["assemblyfilename"];
  28. string path = Path.Combine(Kernel.Instance.ApplicationPaths.PluginsPath, filename);
  29. return new StaticFileHandler() { Path = path }.ProcessRequest(ctx);
  30. }
  31. }
  32. }