Files
FictionArchive/FictionArchive.API/Program.cs
gamer147 8b44cf2f0c
All checks were successful
CI / build-backend (pull_request) Successful in 1m23s
CI / build-frontend (pull_request) Successful in 45s
[FA-misc] Couple of misc updates to logic for going live
2025-12-10 10:17:13 -05:00

55 lines
1.5 KiB
C#

using FictionArchive.Service.Shared.Extensions;
namespace FictionArchive.API;
public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddHealthChecks();
#region Fusion Gateway
// Register header propagation service to forward Authorization header to subgraphs
builder.Services.AddHttpClient("Fusion")
.AddHeaderPropagation();
builder.Services.AddHeaderPropagation(opt =>
{
opt.Headers.Add("Authorization");
});
builder.Services
.AddFusionGatewayServer()
.ConfigureFromFile("gateway.fgp")
.CoreBuilder.ApplySaneDefaults();
#endregion
var allowedOrigin = builder.Configuration["Cors:AllowedOrigin"] ?? "http://localhost:4321";
builder.Services.AddCors(options =>
{
options.AddPolicy("AllowFictionArchiveOrigins",
policyBuilder =>
{
policyBuilder.WithOrigins(allowedOrigin)
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials();
});
});
var app = builder.Build();
app.UseCors("AllowFictionArchiveOrigins");
app.MapHealthChecks("/healthz");
app.UseHeaderPropagation();
app.MapGraphQL();
app.RunWithGraphQLCommands(args);
}
}