tytd-email-server/Program.cs

74 lines
1.9 KiB
C#

using Tesses.YouTubeDownloader;
using tytdemail.Model;
using YoutubeExplode.Videos;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
//app.UseHsts(); //dont use HSTS here
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapGet("/api/AddItem/{id}",async(string id)=>{
var config=SMTPConfig.Create(app.Configuration);
if(config != null)
{
await config.AddItemAsync(id);
}
return Results.Ok();
});
app.MapGet("/api/AddVideo/{id}",async(string id)=>{
var config=SMTPConfig.Create(app.Configuration);
VideoId? vid=VideoId.TryParse(id);
if(config != null && vid.HasValue)
{
await config.AddVideoAsync(vid.Value);
}
return Results.Ok();
});
app.MapGet("/api/AddItemRes/{res}/{id}",async(int res,string id)=>{
var config=SMTPConfig.Create(app.Configuration);
if(config != null)
{
await config.AddItemAsync(id,(Resolution)res);
}
return Results.Ok();
});
app.MapGet("/api/AddVideoRes/{res}/{id}",async(int res,string id)=>{
var config=SMTPConfig.Create(app.Configuration);
VideoId? vid=VideoId.TryParse(id);
if(config != null && vid.HasValue)
{
await config.AddVideoAsync(vid.Value,(Resolution)res);
}
return Results.Ok();
});
app.MapRazorPages();
try{
var res=app.Configuration.GetValue<SMTPConfig>("SMTP");
if(res.IgnoreCertError)
{
System.Net.ServicePointManager.ServerCertificateValidationCallback += (a,b,c,d) => true;
}
}catch(Exception ex)
{
_=ex;
}
app.Run();