| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | 
							- using System;
 
- using System.Threading.Tasks;
 
- using MediaBrowser.Controller.Configuration;
 
- using Microsoft.AspNetCore.Cors.Infrastructure;
 
- using Microsoft.AspNetCore.Http;
 
- namespace Jellyfin.Server.Configuration
 
- {
 
-     /// <summary>
 
-     /// Cors policy provider.
 
-     /// </summary>
 
-     public class CorsPolicyProvider : ICorsPolicyProvider
 
-     {
 
-         private readonly IServerConfigurationManager _serverConfigurationManager;
 
-         /// <summary>
 
-         /// Initializes a new instance of the <see cref="CorsPolicyProvider"/> class.
 
-         /// </summary>
 
-         /// <param name="serverConfigurationManager">Instance of the <see cref="IServerConfigurationManager"/> interface.</param>
 
-         public CorsPolicyProvider(IServerConfigurationManager serverConfigurationManager)
 
-         {
 
-             _serverConfigurationManager = serverConfigurationManager;
 
-         }
 
-         /// <inheritdoc />
 
-         public Task<CorsPolicy> GetPolicyAsync(HttpContext context, string policyName)
 
-         {
 
-             var corsHosts = _serverConfigurationManager.Configuration.CorsHosts;
 
-             var builder = new CorsPolicyBuilder()
 
-                 .AllowAnyMethod()
 
-                 .AllowAnyHeader();
 
-             // No hosts configured or only default configured.
 
-             if (corsHosts.Length == 0
 
-                 || (corsHosts.Length == 1
 
-                     && string.Equals(corsHosts[0], CorsConstants.AnyOrigin, StringComparison.Ordinal)))
 
-             {
 
-                 builder.AllowAnyOrigin();
 
-             }
 
-             else
 
-             {
 
-                 builder.WithOrigins(corsHosts)
 
-                     .AllowCredentials();
 
-             }
 
-             return Task.FromResult(builder.Build());
 
-         }
 
-     }
 
- }
 
 
  |