| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- 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.SessionStorage;
-
- 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<CodeRequest>(builder.Configuration.GetSection("AuthParams"));
- builder.Services.AddControllersWithViews();
- builder.Services.AddRazorPages();
-
- builder.Services.AddEndpointsApiExplorer();
-
- builder.Services.AddGrpc();
- builder.Services.AddCodeFirstGrpc();
- builder.Services.AddCodeFirstGrpcReflection();
- builder.Services.AddBlazoredSessionStorage();
- //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<WeatherService>();
- app.MapGrpcService<AuthService>().EnableGrpcWeb();
- app.MapGrpcService<TrackService>().EnableGrpcWeb();
-
- app.MapCodeFirstGrpcReflectionService();
-
- app.MapFallbackToFile("index.html");
-
- app.Run();
|