2022-11-06 22:42:32 +08:00
|
|
|
using Dipper.Alioth.Options;
|
|
|
|
using Microsoft.AspNetCore.Builder;
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
|
|
|
namespace Dipper.Alioth.Web;
|
|
|
|
|
|
|
|
public class StarHost
|
|
|
|
{
|
2022-11-06 23:03:52 +08:00
|
|
|
private StarHost()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public StarHost CreateHost()
|
|
|
|
{
|
|
|
|
return new StarHost();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void Run(string[] args, Action<StarOption> action)
|
2022-11-06 22:42:32 +08:00
|
|
|
{
|
|
|
|
var app = Configure(args, action);
|
|
|
|
app.Run();
|
|
|
|
}
|
|
|
|
|
2022-11-06 23:03:52 +08:00
|
|
|
public Task RunAsync(string[] args, Action<StarOption> action)
|
2022-11-06 22:42:32 +08:00
|
|
|
{
|
|
|
|
var app = Configure(args, action);
|
|
|
|
|
|
|
|
return app.RunAsync();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2022-11-06 23:03:52 +08:00
|
|
|
private WebApplication Configure(string[] args, Action<StarOption> action)
|
2022-11-06 22:42:32 +08:00
|
|
|
{
|
|
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
|
|
|
|
|
|
var app = builder.Build();
|
|
|
|
|
|
|
|
return app;
|
|
|
|
}
|
|
|
|
}
|