Add endpoints for culture detection and improve cookie parsing
Added two endpoints to TestLocalizerController for retrieving culture from Accept-Language and user cookies. Enhanced GetCulture extension to parse and return the actual culture string from cookies. Updated usings for new extension methods.
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
using AngleSharp.Common;
|
||||
using DigitalData.Core.API;
|
||||
using EnvelopeGenerator.Application.Resources;
|
||||
using EnvelopeGenerator.Web.Extensions;
|
||||
using EnvelopeGenerator.Web.Models;
|
||||
using Microsoft.AspNetCore.Localization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Localization;
|
||||
using System.Globalization;
|
||||
|
||||
namespace EnvelopeGenerator.Web.Controllers.Test
|
||||
{
|
||||
@@ -28,5 +31,14 @@ namespace EnvelopeGenerator.Web.Controllers.Test
|
||||
|
||||
[HttpGet("culture")]
|
||||
public IActionResult GetCultures(string? lang = null) => lang is null ? Ok(_cultures) : Ok(_cultures[lang]);
|
||||
|
||||
[HttpGet("culture/accept-language")]
|
||||
public IActionResult GetCultureByAcceptLanguage()
|
||||
=> HttpContext.GetCultureByAcceptLanguage()?.Name is string culture
|
||||
? Ok(culture)
|
||||
: NotFound();
|
||||
|
||||
[HttpGet("culture/user")]
|
||||
public IActionResult GetUserCulture() => Request.Cookies.GetCulture() is string cult ? Ok(cult) : NotFound();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user