/// <summary> /// Configures the service collection for the webhost. /// </summary> /// <param name="services">The service collection.</param> public void ConfigureServices(IServiceCollection services) { services.AddResponseCompression(); services.AddHttpContextAccessor(); services.AddJellyfinApi(_serverConfigurationManager.Configuration.BaseUrl.TrimStart('/'), _applicationHost.GetApiPluginAssemblies()); services.AddJellyfinApiSwagger(); // configure custom legacy authentication services.AddCustomAuthentication(); services.AddJellyfinApiAuthorization(); var productHeader = new ProductInfoHeaderValue(_applicationHost.Name.Replace(' ', '-'), _applicationHost.ApplicationVersionString); services .AddHttpClient(NamedClient.Default, c => { c.DefaultRequestHeaders.UserAgent.Add(productHeader); }) .ConfigurePrimaryHttpMessageHandler(x => new DefaultHttpClientHandler()); services.AddHttpClient(NamedClient.MusicBrainz, c => { c.DefaultRequestHeaders.UserAgent.Add(productHeader); c.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue($"({_applicationHost.ApplicationUserAgentAddress})")); }) .ConfigurePrimaryHttpMessageHandler(x => new DefaultHttpClientHandler()); }
/// <summary> /// Configures the service collection for the webhost. /// </summary> /// <param name="services">The service collection.</param> public void ConfigureServices(IServiceCollection services) { services.AddResponseCompression(); services.AddHttpContextAccessor(); services.AddJellyfinApi(_serverConfigurationManager.Configuration.BaseUrl.TrimStart('/'), _applicationHost.GetApiPluginAssemblies()); services.AddJellyfinApiSwagger(); // configure custom legacy authentication services.AddCustomAuthentication(); services.AddJellyfinApiAuthorization(); services.AddHttpClient(); }