using DysonNetwork.Pass.Account; using DysonNetwork.Pass.Auth; using DysonNetwork.Pass.Credit; using DysonNetwork.Pass.Leveling; using DysonNetwork.Pass.Permission; using DysonNetwork.Pass.Wallet; using DysonNetwork.Shared.Http; using Prometheus; namespace DysonNetwork.Pass.Startup; public static class ApplicationConfiguration { public static WebApplication ConfigureAppMiddleware(this WebApplication app, IConfiguration configuration) { app.MapMetrics(); app.MapOpenApi(); app.UseSwagger(); app.UseSwaggerUI(); app.UseRequestLocalization(); app.ConfigureForwardedHeaders(configuration); app.UseWebSockets(); app.UseRateLimiter(); app.UseAuthentication(); app.UseAuthorization(); app.UseMiddleware(); app.MapControllers().RequireRateLimiting("fixed"); return app; } public static WebApplication ConfigureGrpcServices(this WebApplication app) { app.MapGrpcService(); app.MapGrpcService(); app.MapGrpcService(); app.MapGrpcService(); app.MapGrpcService(); app.MapGrpcService(); app.MapGrpcService(); app.MapGrpcService(); app.MapGrpcService(); return app; } }