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;
}
}
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;
}
}