Initial commit
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
using System.Runtime.InteropServices;
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
|
||||
class Program
|
||||
{
|
||||
static async Task Main()
|
||||
{
|
||||
string url = "http://localhost:80";
|
||||
string game = "";
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||
{
|
||||
game = "\\Game\\";
|
||||
}
|
||||
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
|
||||
{
|
||||
game = "/Game/";
|
||||
}
|
||||
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
|
||||
{
|
||||
game = "/Game/";
|
||||
}
|
||||
string contentRoot = Directory.GetCurrentDirectory() + game;
|
||||
Console.WriteLine(contentRoot);
|
||||
|
||||
var builder = WebApplication.CreateBuilder();
|
||||
builder.Services.AddDirectoryBrowser();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
app.UseDefaultFiles(new DefaultFilesOptions
|
||||
{
|
||||
DefaultFileNames = new[] { "index.html" },
|
||||
FileProvider = new PhysicalFileProvider(contentRoot),
|
||||
});
|
||||
app.UseStaticFiles(new StaticFileOptions
|
||||
{
|
||||
FileProvider = new PhysicalFileProvider(contentRoot),
|
||||
RequestPath = ""
|
||||
});
|
||||
app.UseDirectoryBrowser(new DirectoryBrowserOptions
|
||||
{
|
||||
FileProvider = new PhysicalFileProvider(contentRoot)
|
||||
});
|
||||
|
||||
var serverTask = app.RunAsync(url);
|
||||
|
||||
await Task.Delay(2000);
|
||||
OpenBrowser("http://localhost/");
|
||||
|
||||
await serverTask;
|
||||
}
|
||||
|
||||
static void OpenBrowser(string url)
|
||||
{
|
||||
try
|
||||
{
|
||||
Process.Start(new ProcessStartInfo
|
||||
{
|
||||
FileName = url,
|
||||
UseShellExecute = true
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"Failed to open browser: {ex.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user