Stream custom live channels using your own media
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

27 lines
1016 B

using ErsatzTV.Core.Domain;
using ErsatzTV.Core.Interfaces.Repositories;
using Microsoft.AspNetCore.Localization;
namespace ErsatzTV;
public class DatabaseRequestCultureProvider(AcceptLanguageHeaderRequestCultureProvider defaultProvider)
: RequestCultureProvider
{
public override async Task<ProviderCultureResult> DetermineProviderCultureResult(HttpContext httpContext)
{
var configElementRepository = httpContext.RequestServices.GetService<IConfigElementRepository>();
var defaultResult = await defaultProvider.DetermineProviderCultureResult(httpContext);
string configuredLanguage = await configElementRepository.GetValue<string>(
ConfigElementKey.PagesLanguage,
httpContext.RequestAborted)
.IfNoneAsync("en");
if (defaultResult != null)
{
return new ProviderCultureResult(defaultResult.Cultures, [configuredLanguage]);
}
return new ProviderCultureResult(configuredLanguage);
}
}