36 lines
813 B
C#
36 lines
813 B
C#
using System.Reflection;
|
|
using System.Text;
|
|
using System.Web;
|
|
using HeyRed.Mime;
|
|
|
|
namespace Shoko;
|
|
|
|
[Protocol("res")]
|
|
class ResProtoHandler : ProtoHandler
|
|
{
|
|
public ResProtoHandler(Uri url)
|
|
{
|
|
URL = url;
|
|
}
|
|
|
|
public override async Task Load()
|
|
{
|
|
var path = HttpUtility.HtmlDecode(URL.AbsolutePath);
|
|
Status = "OK";
|
|
try
|
|
{
|
|
Content = await Download(Assembly.GetExecutingAssembly().GetManifestResourceStream(path));
|
|
MediaType = MimeGuesser.GuessMimeType(Content);
|
|
}
|
|
catch
|
|
{
|
|
Content = new MemoryStream(Encoding.UTF8.GetBytes("resource not found"));
|
|
MediaType = "text/plain";
|
|
Status = "not found";
|
|
}
|
|
OnLoaded();
|
|
}
|
|
public override void Render()
|
|
{
|
|
}
|
|
} |