27 lines
736 B
C#
27 lines
736 B
C#
using ServiceUpdater;
|
|
|
|
var builder = WebApplication.CreateSlimBuilder(args);
|
|
|
|
// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi
|
|
builder.Services.AddOpenApi();
|
|
|
|
builder.Services.AddSingleton<UpdaterConfig>();
|
|
builder.Services.AddScoped<UpdateWorker>();
|
|
|
|
var app = builder.Build();
|
|
|
|
if (app.Environment.IsDevelopment()) {
|
|
app.MapOpenApi();
|
|
}
|
|
|
|
app.MapGet("update/{service}", async (UpdateWorker worker, string service, HttpContext context) => {
|
|
context.Response.Headers.Append("Content-Type", "text/event-stream");
|
|
|
|
await foreach (var line in worker.UpdateService(service)) {
|
|
await context.Response.WriteAsync(line + '\n');
|
|
await context.Response.Body.FlushAsync();
|
|
}
|
|
});
|
|
|
|
app.Run();
|