InitializeCorsAndHttps

This commit is contained in:
Mike Phares 2024-11-23 13:46:53 -07:00
parent c8325aafca
commit 590b1b87ca
5 changed files with 21 additions and 7 deletions

View File

@ -82,17 +82,17 @@
},
"dev": {
"ownerId": "5f0b1052-466d-44de-a554-226d7256850d",
"host": "http://localhost:5003",
"host": "https://localhost:5003",
"token": "ey..dev",
},
"affirm": {
"ownerId": "5f0b1052-466d-44de-a554-226d7256850d",
"host": "https://products.affirm.duckdns.org/",
"host": "https://immich-to-slideshow.affirm.duckdns.org/",
"token": "ey..affirm"
},
"phares": {
"ownerId": "5f0b1052-466d-44de-a554-226d7256850d",
"host": "https://products.phares.duckdns.org/",
"host": "https://immich-to-slideshow.phares.duckdns.org/",
"token": "ey..phares"
}
}

View File

@ -5,6 +5,7 @@ namespace ImmichToSlideshow.Models;
public record AppSettings(string Company,
string ConnectionString,
string[] WithOrigins,
string WorkingDirectoryName)
{

View File

@ -8,6 +8,7 @@ public class AppSettings
public string? Company { get; set; }
public string? ConnectionString { get; set; }
public string[]? WithOrigins { get; set; }
public string? WorkingDirectoryName { get; set; }
public override string ToString()
@ -38,9 +39,11 @@ public class AppSettings
Models.AppSettings result;
if (appSettings?.Company is null) throw new NullReferenceException(nameof(appSettings.Company));
if (appSettings?.ConnectionString is null) throw new NullReferenceException(nameof(appSettings.ConnectionString));
if (appSettings?.WithOrigins is null) throw new NullReferenceException(nameof(appSettings.WithOrigins));
if (appSettings?.WorkingDirectoryName is null) throw new NullReferenceException(nameof(appSettings.WorkingDirectoryName));
result = new(appSettings.Company,
appSettings.ConnectionString,
appSettings.WithOrigins,
appSettings.WorkingDirectoryName);
return result;
}

View File

@ -15,6 +15,9 @@ public class Program
_ = webApplicationBuilder.Services.AddControllers();
_ = webApplicationBuilder.Services.AddServices(appSettings);
WebApplication webApplication = webApplicationBuilder.Build();
ILogger<Program>? logger = webApplication.Services.GetRequiredService<ILogger<Program>>();
logger.LogInformation("Starting Web Application");
_ = webApplication.InitializeCorsAndHttps(appSettings);
_ = webApplication.MapControllers();
_ = webApplication.InitializeDatabase();
webApplication.Run();

View File

@ -1,13 +1,20 @@
using ImmichToSlideshow.Models;
namespace ImmichToSlideshow.RequestPipeline;
public static class WebApplicationExtensions
{
public static WebApplication InitializeDatabase(this WebApplication webApplication)
{
ILogger<Program>? logger = webApplication.Services.GetRequiredService<ILogger<Program>>();
logger.LogInformation("Starting Web Application");
public static WebApplication InitializeDatabase(this WebApplication webApplication) =>
// DBInitializer.Initialize(application.Configuration[DbConstants.DefaultConnectionStringPath]!);
webApplication;
public static WebApplication InitializeCorsAndHttps(this WebApplication webApplication, AppSettings appSettings)
{
_ = webApplication.UseCors(corsPolicyBuilder =>
corsPolicyBuilder.WithOrigins(appSettings.WithOrigins).AllowAnyHeader().AllowAnyMethod());
_ = webApplication.UseHttpsRedirection();
_ = webApplication.UseHsts();
return webApplication;
}