43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
using c64_inteface;
|
|
using Microsoft.AspNetCore.Http.HttpResults;
|
|
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
|
|
// Add services to the container.
|
|
// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi
|
|
builder.Services.AddOpenApi();
|
|
|
|
builder.Services.AddSignalR();
|
|
builder.Services.AddSingleton<ArduinoMessageContainer>();
|
|
builder.Services.AddHostedService<MonitorBackgroundService>();
|
|
builder.Services.AddSingleton<ArduinoHub>();
|
|
|
|
builder.Services.AddCors(cfg => cfg.AddPolicy("cringe", p => p.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()));
|
|
|
|
|
|
var app = builder.Build();
|
|
app.UseCors("cringe");
|
|
// Configure the HTTP request pipeline.
|
|
if (app.Environment.IsDevelopment())
|
|
{
|
|
app.MapOpenApi();
|
|
}
|
|
|
|
app.UseHttpsRedirection();
|
|
|
|
app.MapGet("/api/{message}", (string message, ArduinoMessageContainer arduinoMessageContainer) =>
|
|
{
|
|
arduinoMessageContainer.Message = message.Trim().Replace("\n", "").Replace("\r", "");
|
|
arduinoMessageContainer.Ready = true;
|
|
return true;
|
|
})
|
|
.WithName("SendMessageToArduino");
|
|
|
|
app.UseWebSockets(new WebSocketOptions
|
|
{
|
|
KeepAliveInterval = TimeSpan.FromSeconds(120),
|
|
});
|
|
|
|
app.MapHub<ArduinoHub>("/ArduinoHub");
|
|
|
|
app.Run(); |