XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESystem

【Rust】XFE系统,基于Rust和汇编

公开
关注 0 Fork 0 Star 0
UTF-8
using XFESystem.Browser;

internal sealed class CoreResources(string repositoryRoot) : IBrowserResourceSource
{
    private readonly string directory = Path.Combine(repositoryRoot, "assets/Browser/Monaco/0.52.2/Core");

    public bool TryGet(Uri address, out WebResponse response)
    {
        response = null!;
        if (address.GetLeftPart(UriPartial.Authority) != PackagedBrowserResources.Origin) return false;
        string filename = address.AbsolutePath switch
        {
            "/Browser/Monaco/0.52.2/Core/EditorCore.js" => "EditorCore.js",
            "/Browser/Monaco/0.52.2/Core/EditorCore.css" => "EditorCore.css",
            _ => ""
        };
        if (filename.Length == 0) return new PackagedBrowserResources().TryGet(address,out response);
        string mime = filename.EndsWith(".html", StringComparison.Ordinal) ? "text/html" : filename.EndsWith(".css", StringComparison.Ordinal) ? "text/css" : "application/javascript";
        response = new(address, 200, mime, File.ReadAllText(Path.Combine(directory, filename)));
        return true;
    }
}