|
|
@ -4,7 +4,6 @@ using System.Net.Http.Headers; |
|
|
using System.Threading; |
|
|
using System.Threading; |
|
|
using System.Threading.Tasks; |
|
|
using System.Threading.Tasks; |
|
|
using Microsoft.Extensions.DependencyInjection; |
|
|
using Microsoft.Extensions.DependencyInjection; |
|
|
using Microsoft.Maui.Storage; |
|
|
|
|
|
using Volo.Abp.AspNetCore.Components.Progression; |
|
|
using Volo.Abp.AspNetCore.Components.Progression; |
|
|
using Volo.Abp.DependencyInjection; |
|
|
using Volo.Abp.DependencyInjection; |
|
|
|
|
|
|
|
|
@ -13,11 +12,13 @@ namespace Volo.Abp.AspNetCore.Components.MauiBlazor; |
|
|
public class AbpMauiBlazorClientHttpMessageHandler : DelegatingHandler, ITransientDependency |
|
|
public class AbpMauiBlazorClientHttpMessageHandler : DelegatingHandler, ITransientDependency |
|
|
{ |
|
|
{ |
|
|
private readonly IUiPageProgressService _uiPageProgressService; |
|
|
private readonly IUiPageProgressService _uiPageProgressService; |
|
|
|
|
|
private readonly IMauiBlazorSelectedLanguageProvider _mauiBlazorSelectedLanguageProvider; |
|
|
private const string SelectedLanguageName = "Abp.SelectedLanguage"; |
|
|
|
|
|
|
|
|
|
|
|
public AbpMauiBlazorClientHttpMessageHandler(IClientScopeServiceProviderAccessor clientScopeServiceProviderAccessor) |
|
|
public AbpMauiBlazorClientHttpMessageHandler( |
|
|
|
|
|
IClientScopeServiceProviderAccessor clientScopeServiceProviderAccessor, |
|
|
|
|
|
IMauiBlazorSelectedLanguageProvider mauiBlazorSelectedLanguageProvider) |
|
|
{ |
|
|
{ |
|
|
|
|
|
_mauiBlazorSelectedLanguageProvider = mauiBlazorSelectedLanguageProvider; |
|
|
_uiPageProgressService = clientScopeServiceProviderAccessor.ServiceProvider.GetRequiredService<IUiPageProgressService>(); |
|
|
_uiPageProgressService = clientScopeServiceProviderAccessor.ServiceProvider.GetRequiredService<IUiPageProgressService>(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -40,16 +41,14 @@ public class AbpMauiBlazorClientHttpMessageHandler : DelegatingHandler, ITransie |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private Task SetLanguageAsync(HttpRequestMessage request) |
|
|
private async Task SetLanguageAsync(HttpRequestMessage request) |
|
|
{ |
|
|
{ |
|
|
var selectedLanguage = Preferences.Get(SelectedLanguageName, string.Empty); |
|
|
var selectedLanguage = await _mauiBlazorSelectedLanguageProvider.GetSelectedLanguageAsync(); |
|
|
|
|
|
|
|
|
if (!selectedLanguage.IsNullOrWhiteSpace()) |
|
|
if (!selectedLanguage.IsNullOrWhiteSpace()) |
|
|
{ |
|
|
{ |
|
|
request.Headers.AcceptLanguage.Clear(); |
|
|
request.Headers.AcceptLanguage.Clear(); |
|
|
request.Headers.AcceptLanguage.Add(new StringWithQualityHeaderValue(selectedLanguage)); |
|
|
request.Headers.AcceptLanguage.Add(new StringWithQualityHeaderValue(selectedLanguage)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return Task.CompletedTask; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |