fix: decode encoded mini customer headers
All checks were successful
Build and Deploy MiniApi / build-and-deploy (push) Successful in 16s

This commit is contained in:
2026-03-10 10:18:08 +08:00
parent 227266d183
commit b76f7fac55

View File

@@ -82,6 +82,34 @@ public sealed class OrdersController(IMiniAppService miniAppService, ITenantProv
private string ResolveCustomerName()
{
return Request.Headers.TryGetValue("X-Mini-Customer-Name", out var name) ? name.FirstOrDefault()?.Trim() ?? string.Empty : string.Empty;
if (!Request.Headers.TryGetValue("X-Mini-Customer-Name", out var name))
{
return string.Empty;
}
return DecodeHeaderValue(name.FirstOrDefault());
}
private static string DecodeHeaderValue(string? value)
{
if (string.IsNullOrWhiteSpace(value))
{
return string.Empty;
}
var trimmed = value.Trim();
if (!trimmed.Contains('%'))
{
return trimmed;
}
try
{
return Uri.UnescapeDataString(trimmed);
}
catch
{
return trimmed;
}
}
}