using GrpcShared; using IdentityProvider.Services; using Microsoft.AspNetCore.Server.Kestrel.Core; using ProtoBuf.Grpc.Server; using Microsoft.Extensions.Options; using GrpcShared.DTO.Auth; using SpotifyService.Services; using Blazored.LocalStorage; var builder = WebApplication.CreateBuilder(args); #if DEBUG builder.WebHost.ConfigureKestrel(options => { options.ListenLocalhost(5050, o => o.Protocols = HttpProtocols.Http2); options.ListenLocalhost(5051, o => o.Protocols = HttpProtocols.Http1AndHttp2); }); #endif builder.Services.AddHttpClient("HttpClient", c => { c.BaseAddress = new Uri(SpotifyService.GLOBALS.SPOTIFYURL); c.DefaultRequestHeaders.Add("Accept", SpotifyService.GLOBALS.MEDIATYPE); }); builder.Services.AddOptions(); // Additional configuration is required to successfully run gRPC on macOS. // For instructions on how to configure Kestrel and gRPC clients on macOS, visit https://go.microsoft.com/fwlink/?linkid=2099682 builder.Services.Configure(builder.Configuration.GetSection("AuthParams")); builder.Services.AddControllersWithViews(); builder.Services.AddRazorPages(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddGrpc(); builder.Services.AddCodeFirstGrpc(); builder.Services.AddCodeFirstGrpcReflection(); builder.Services.AddBlazoredLocalStorage(); //call spotify api builder.Services.AddHttpClient(); var app = builder.Build(); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseWebAssemblyDebugging(); } else { 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(); } app.UseHttpsRedirection(); //run blazor project by running grpc server app.UseBlazorFrameworkFiles(); app.UseStaticFiles(); app.UseRouting(); //for http2 -> http conversion app.UseGrpcWeb(); app.MapRazorPages(); app.MapControllers(); //app.MapGrpcService(); app.MapGrpcService().EnableGrpcWeb(); app.MapGrpcService().EnableGrpcWeb(); app.MapGrpcService().EnableGrpcWeb(); app.MapCodeFirstGrpcReflectionService(); app.MapFallbackToFile("index.html"); app.Run();